Core的作者说你可以把JavaServer Faces(JSF)看成“swing for server-side applications”,我想这是因为:1、JSF里面定义了很多可用的UI部件(用户可自定义)。2、JSF有消息驱动机制。
要用JSF,除了JDK和Tomcat(servlet container)之外,还要下载一个JavaServer Faces reference implementation,要用到里面的lib,现在sun网站上有1.1的版本。
一个简单的开发例子:1、建立一个目录,这个目录是部署这个应用的单元(打包成.war),比如testJSF。2、在这个目录下放置jsp页面。3、在此目录下建立WEB-INF目录,在其中放置faces-config.xml和web.xml。4、在WEB-INF目录下建立class和lib目录。5、将bean的java code以包的形式放在class目录下(并且将它们编译)。6、将必要的.jar放在lib目录下。7、制作.war: jar cvf sample.war。8、将.war放到tomcat/webapps下
接着就可以用http://localhost:8080/testJSF来访问了。再分别把具体的东西解释下:
1、必要的jar有六个,你可以像上面那样放到.war里,也可以直接将他们放到tomcat/common/lib中,而且这样的话,你就不必在每个.war中包含它们 :jsf/lib/jsf-api.jarjsf/lib/jsf-impl.jar:jsf/lib/jsf-impl.jartomcat/server/lib/commons-digester.jartomcat/server/lib/commons-beanutils.jartomcat/webapps/jsp-examples/WEB-INF/lib/jstl.jartomcat/webapps/jsp-examples/WEB-INF/lib/standard.jar
2、bean class里面的getter和setter是前端和后端的管道,没什么好说的。
3、配置jsf国际化消息资源文件MessageBundle.properties(名字可以任意) login_username_lable=userName: login_password_lable=password: login_button_lable = login 加载资源文件:
jsf页面中需要国际化的文字都可以在这里面配置,并用key值读取 下面是在页面中使用的例子:
4、jsf的页面要包含两个标签的定义:<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %><%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>(f: core tags; h: HTML tags.)
页面上似乎和struts差不多,看个例子:
接受用户输入用户名和密码,里面是普通的html标签和jsf的标签,没什么太多东西。如果用户名,密码错误则message标签返回错误信息。
输出UserBean的一个值(userName)。
5、两个xml的配置文件:
faces-config.xml的内容:
再看web.xml:€
servlet-mapping指定了url的后缀,welcome-file-list指定初识页(可以用这个页面前进到某个其他页面)。
例子讲完了,再讲下jsf的处理周期:jsf页面有encoding和decoding的过程,前者将jsf的元素树变换成html页面,后者将页面的内容(form的数据等)变回jsf的元素,并由这些元素执行它们自己所定义的动作。 6 UserName.java
posted on 2006-09-27 16:07 土牛小屋 阅读(3046) 评论(4) 编辑 收藏
写的很详细,谢过了! 回复 更多评论
www.mylinux.com.cn 包罗java,linux,数据库,安全等等技术资料,更有众多软件外包项目,所有项目直接与mylinux签署合同,保证用户的合法权利. qq群:15096318(已满) 26343297(已满) 26343309(已满) 20767472(已满) 30440614(已满)21189212(已满) 回复 更多评论
请输入你的姓名 回复 更多评论
qq群:15096318(已满) 26343297(已满) 26343309(已满) 20767472(已满) 30440614(已满)21189212(已满) www.mylinux.com.cn 包罗java,linux,数据库,安全等等技术资料,更有众多软件外包项目,所有项目直接与mylinux签署合同,保证用户的合法权利. qq群:15096318(已满) 26343297(已满) 26343309(已满) 20767472(已满) 30440614(已满)21189212(已满) 回复 更多评论
Powered by: BlogJava Copyright © 土牛小屋