已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSF框架的使用首先弄清楚JSF的概念及相关框架之间的关系1. JSF目前流行的有三个版本 1.1,1.2,2.02. 1.1太过原始,不予以考虑。1.2和2.0的区别在于:SUN推出了JSF1.2之后,发现如ICEFaces,RichFaces扩展了JSF1.2,添加了更多的组件,添加了ajax的支持等,所以SUN综合ICEFaces,RichFaces等的优缺点,推出了JSF2.03. 遵循JSF标准的扩展有很多,用的最多的有ICEFaces(商业公司ICE), RichFaces(JBoss),MyFaces(Oracle捐赠给Apache)。另外有一个国产开源的,即aom(金蝶)4. 所有的Web Container都实现Servlet和JSP的支持,我们不需要手动导入servlet-api。但JSF不是,比如使用Tomcat部署JSF,必须导入jsf的包(jsf-api.jar,jsf-impl.jar), GlassFish则不需要。5. 理论上讲,我们的程序只要符合JSF规范,就能在使用ICEFaces或者RichFaces的Web Container上运行,但ICEFaces和RichFaces对JSF的框架均作了扩展,支持更丰富的组件。(也就是说一旦使用了ICEFaces扩展的组件,程序就不再可以随意切换其他的JSF扩展,比如RichFaces)本文档将以2个实际的例子,第一个演示用户登录,直接使用JSF1.2, 第二个例子演示登录之后显示数据库war_new中war_candidate的数据,使用ICEFaces1.8.2。第一个例子,我们遵循JSF1.2的开发标准,不使用ICEFaces扩展,JSF1.2要求使用servlet2.5版本第一步 新建一个动态web工程,如下填写完毕后点击next注意:1. Target runtime如果没有,需要新建一个,eclipse将会把自动引用runtime的jar文件2. Dynamic web module version需要选择2.5,2.4仅支持JSF1.13. Configuration下拉选框中选择 JavaServer Faces v1.2 Project第二步 一直next到如下界面,JSF Implementation Library选择 Disable Library Configuration.拒绝IDE引用JSF相关的jar,由我们手动添加,点击finish注意,这里的设置将会配置在web.xml中(一个名叫Faces Servlet的servlet)第三步 往工程里手动copy如下jar注意;只有jsf-api.jar,jsf-impl.jar是必须包,其他是demo演示需要。第四步 在WebContent中新建两个jsp文件login.jsp,listCandidate.jsp,如下图:在File name中输入login.jsp,点击next,然后在新视图中勾选Use Jsp Tamplate,并选中下面第二副图中红色框内的jsp模板New JavaServer Faces(JSF) Page (html),这是一个最宽泛的标准。点击Finish用同样的方法,创建listCandidate.jsp第五步 打开faces-config.xml文件,在face-config.xml编辑器中点击Navigation Rule切换到Navigation Rule视图,如下图:第六步 分别将login.jsp listCandidate.jsp拖放到Navigation Rule视图中,然后点击Palette View,如下图注意,如果eclipse中没有显示Palette View,请将其调出,可能默认不显示在图示中的左下角位置第七步 在Palette View中选择Link, 在Navigation Rule中先选择login图标,再选择listCandidate图标,创建一个Link,并在Properties View里面这个Link的 Form Outcome参数输入框中 填写login, 如下图注意,如果eclipse中没有显示Properties View,请将其调出,可能默认不显示在图示底部位置第八步 在第七步的基础上,如果用户在login页面中输入的用户名或密码错误,则导航到原login页面重新输入,此时直接编辑faces-config.xml的源代码如下:注意,下面代码中加粗的部分不是第七步自动生成的,而是我们直接在faces-config.xml源代码的基础上添加的。管理Login页面的对象loginBeancom.manpower.managedbean.LoginBeanrequestlogin/login.jsplogin/listCandidate.jsplistCandidate/listCandidate.jspreturn/listCandidate.jsp到此我们创建了一个规则,即通过login.jsp可以导航(链接)到listCandidate, 也可以导航到自己.至于何时会导航,符合什么条件时导航,我们定义的是,当用户在login.jsp页面输入用户名和密码,并点击submit,如果通过验证,就跳转到listCandidate,如果用户名密码错误,就导航到login.jsp自己。第九步 编辑login.jsp, 对于初学者,可以考虑使用Web Page Editor来编辑,如下图:第十步 如下图,在Palette视图中将JSF HTML的四个组件跟别拖入到login.jsp中,并在Properties View中输入value值login.jsp 页面body标签的内容最终如下:注意,代码中的loginBean在第十一步建立。第十一步 为login.jsp建立对于的Managed Bean,在config-face.xml编辑器中,选择Managed Bean视图,点击Add按钮(如果想把某个页面当作对象来管理,就应该为其建立Managed Bean)第十二步 如下图选中 Create a new Java class,点击Next第十三步 输入如下图,输入Package, class Name, 点击Next 第十四步 选择Scope级别为request,然后直接点击Finish按钮第十五步 可以看到被创建的LoginBean.java,和faces-config.xml中添加的配置文件,如下图第十六步 编辑LoginBean.java,新建两个String属性:userName, userPwd, 在新建一个login方法package com.manpower.managedbean;import mons.lang.StringUtils;public class LoginBean private String userName,userPwd;public String login()if(StringUtils.equals(userName, demo) & StringUtils.equals(userPwd, demo)return login;else return return;public String getUserName() return userName;public void setUserName(String userName) this.userName = userName;public String getUserPwd() return userPwd;public void setUserPwd(String userPwd) this.userPwd = userPwd;第十八步 编辑login.jsp, 选中 Login组件,输入action的属性值: #loginBean.login第十九步 在tomcat服务器上测试结果输入要demo作为用户名和密码,点击Login登录成功后跳转到下面的页面第二个例子 在一个例子的基础上,使用ICEFaces,并且通过spring + hibernate 来完成对数据库的操作第一步 新建动态web工程,对比第一个例子的第一步,略有不同,如下图:Configuration 选择是ICEfaces Project第二步 在上一步的基础上与第一个例子一样,点击Next,但会出现一个ICEfaces Project才有的界面,如下图:填写完毕后点击Finish第三步 导入如下图所示的jar文件,主要包括Hibernate, Spring, JSF1.2,ICEfaces及依赖的包第四步 由于ICEFaces1.8.2是基于JSF1.2(jsf-api, jsf-impl)的扩展,所以它是兼容第一个例子里面的代码的。这里直接将第一步里面代码Managed Bean(LoginBean) copy 进来,并集成Spring,Hibernate框架第五步 打开login.jspx,编辑如下图:注意,所有的页面组件使用的是ICEFaces的,所以是支持ajax异步提交的,而不是JSF1.2的,尽管我们知道JSF1.2的组件也是可以的。编辑login.jspx的源代码如下:请关注加粗的部分 ManpowerDemo Login 请输入用户名和密码 第六步 新建listCandidate.jspx, 注意与第一个例子中的区别,ICEfaces采用的是其自己的模板,与普通的jsp模板不一样,扩展名一般是jspx。第七步,新建一个ManagedBean,如下所示package com.manpower.managedbean;import java.util.ArrayList;import java.util.List;import com.manpower.service.IWarCandidateService;import com.manpower.core.utils.SpringContextUtil;import com.manpower.entity.WarCandidate;public class CandidateBean private IWarCandidateService candidateService;private List candidates;public CandidateBean() super();candidateService = SpringContextUtil.getBean(candidateService);public IWarCandidateService getCandidateService() return candidateService;public void setCandidateService(IWarCandidateService candidateService) this.candidateService = candidateService;public List getCandidates() candidates = candidateService.getWarCandidates();if(candidates = null) candidates = new ArrayList();return candidates;public void setCandidates(List candidates) this.candidates = candidates;第八步 编辑listCandidate.jspx,如下从下面加粗的代码可以看出listCandidate.jspx将show出candidate表的orderId的集合,具体取数逻辑我们不care。的作用相当于,不推荐使用,这几仅作演示而已 OrderNumber #candidate.orderId 第九步 编辑faces-config.xml注意加粗部分是ICEFaces一个扩展JSF1.2的一个ViewHandler,有了这东东,我们可以在jspx文件中使用ICEFaces扩展的组件 com.icesoft.faces.facelets.D2DFaceletViewHandler用户登录loginBeancom.manpowe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 桥梁工程竣工验收与交付方案
- 2025年中国民航大学招聘真题(行政管理岗)
- 分娩时限异常的护理并发症识别与预防
- 数智时代下思想政治教育的实践路径与人机治理研究
- 防范侵害保护自我
- 眼中的秋天创意画课件
- 小鸡家族创意美术课件
- 风电场扩容项目竣工验收报告
- 充电桩设备采购成本控制方案
- 电脑创业项目产品服务
- 合伙酒店承包协议书
- 2017年版2025年修订 普通高中信息科技课程标准核心解读
- 2025年超星尔雅学习通《体育管理学概论》考试备考题库及答案解析
- 2025年广西普法考试题库
- 水利工程现场管理
- 2024版消防设计质量问题案例分析手册建筑机电专业
- 酒驾处罚书格式(标准版)
- 灭火器每月定期检查及记录(卡)表
- 土地整理平整工程外观质量评定项目表
- 2021年注册消防工程师继续教育题库
- 力拓和必和必拓风险管理实践
评论
0/150
提交评论