正如Struts的struts-config.xml一样,JSF也有类似的faces-config.xml配置文件:
| < faces-config> < navigation-rule> < from-view-id>/index.jsp< /from-view-id> < navigation-case> < from-outcome>login< /from-outcome> < to-view-id>/welcome.jsp< /to-view-id> < /navigation-case> < /navigation-rule> < managed-bean> < managed-bean-name>user< /managed-bean-name> < managed-bean-class>com.corejsf.UserBean< /managed-bean-class> < managed-bean-scope>session< /managed-bean-scope> < /managed-bean> < /faces-config> |
在Struts-config.xml中有ActionForm Action以及Jsp之间的流程关系,在faces-config.xml中,也有这样的流程,我们具体解释一下Navigation:
在index.jsp中有一个事件:
< h:commandButton label="Login" action="login" />
action的值必须匹配form-outcome值,上述Navigation配置表示:如果在index.jsp中有一个login事件,那么事件触发后下一个页面将是welcome.jsp
JSF有一个独立的事件发生和页面导航的流程安排,这个思路比struts要非常清晰。
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 // PROPERTY: password < managed-bean> < managed-property> < managed-property> |
faces-config.xml这段配置其实是将"me"赋值给name,将secret赋值给password,这是采取Ioc模式中的Setter注射方式。
相关专题
- Struts框架应用专题 (472篇文章)
- 初学者如何开发一个高质量的J2EE系统 (27次浏览)
- 怎样部署基于WebSphere的J2EE应用 (25次浏览)
- J2EE综合:Java学习:EJB的专用术语解释 (18次浏览)
- 详细讲解J2ME中用不到的Java基础知识 (11次浏览)
- 在Ubuntu 7.10 Linux下搭建J2EE开发环境 (11次浏览)
- 常见J2ME系统属性及其作用列表 (10次浏览)
- J2EE综合--java语言不一定就跨平台 (10次浏览)
- 基于J2ME的SVGT移动应用(二) (9次浏览)
- 基于J2ME的SVGT移动应用(一) (8次浏览)
- 代码生成新工具:J2EE Spider (8次浏览)



