您的位置:首页>软件开发>软件架构>

Java进阶:小议JSF与Struts的异同 (3)

[ 来源:赛迪网Java开发论坛 | 更新日期:2007-7-15 20:16:22 | 评论 0 条 | 我要投稿 ]
managed-bean类似Struts的ActionForm,正如可以在struts-config.xml中定义ActionForm的scope一样,这里也定义了managed-bean的scope为session。但是如果你只以为JSF的managed-bean就这点功能就错了,JSF融入了新的Ioc模式/依赖性注射等技术。

Ioc模式

对于Userbean这样一个managed-bean,其代码如下:






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() 字串1
{
return password;
}
public void setPassword(String newValue)
{
password = newValue;
}
}



user


com.corejsf.UserBean


session




name

me




password

secret



字串5


faces-config.xml这段配置其实是将"me"赋值给name,将secret赋值给password,这是采取Ioc模式中的Setter注射方式。

Backing Beans

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

说白了,就是一个Javabean里包含其他Javabean,互相调用,属于Facade模式或Adapter模式。对于一个Backing Beans来说,其中包含了几个managed-bean,managed-bean一定是有scope的,那么这其中的几个managed-beans如何配置它们的scope呢?



...

visit
#{sessionScope.visit}



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


Tags:
责任编辑:
您的评论
用户名: 新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为