java

位置:IT落伍者 >> java >> 浏览文章

Java进阶:深入分析JSF与Struts的异同[2]


发布日期:2022年08月29日
 
Java进阶:深入分析JSF与Struts的异同[2]

对于Userbean这样一个managedbean其代码如下

public class UserBean {

private String name;

private String password;

// PROPERTY: name

public String getName() { return name; }

public void setName(String newValue) { name = newValue; }

// PROPERTY: password

public String getPassword() { return password; }

public void setPassword(String newValue) { password = newValue; }

}

user

comcorejsfUserBean

session

name

me

password

secret

facesconfigxml这段配置其实是将me赋值给name将secret赋值给password这是采取Ioc模式中的Setter注射方式

Backing Beans

对于一个web form我们可以使用一个bean包含其涉及的所有组件这个bean就称为Backing Bean Backing Bean的优点是一个单个类可以封装相关一系列功能的数据和逻辑

说白了就是一个Javabean里包含其他Javabean互相调用属于Facade模式或Adapter模式

对于一个Backing Beans来说其中包含了几个managedbeanmanagedbean一定是有scope的那么这其中的几个managedbeans如何配置它们的scope呢?

propertyname>visit

#{sessionScopevisit}

这里配置了一个Backing Beans中有一个setVisit方法将这个visit赋值为session中的visit这样以后在程序中我们只管访问visit对象从中获取我们希望的数据(如用户登陆注册信息)而visit是保存在session还是application或request只需要配置既可

UI界面

JSF和Struts一样除了JavaBeans类之外还有页面表现元素都是是使用标签完成的Struts也提供了strutsfacestld标签库向JSF过渡

使用Struts标签库编程复杂页面时一个最大问题是会大量使用logic标签这个logic如同if语句一旦写起来搞的JSP页面象俄罗斯方块一样但是使用JSF标签就简洁优美

icon=/images/inboxgif

action=inbox

disabled=#{!authenticationBeaninboxAuthorized}/>

如果authenticationBean中inboxAuthorized返回是假那么这一行标签就不用显示多干净利索!

[] []

               

上一篇:别让Hibernate偷走了你的标识符[5]

下一篇:Java进阶:深入分析JSF与Struts的异同[1]