MyEclipse80 开发 JSF12 简例详述.docx
- 文档编号:12036964
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:7
- 大小:18.01KB
MyEclipse80 开发 JSF12 简例详述.docx
《MyEclipse80 开发 JSF12 简例详述.docx》由会员分享,可在线阅读,更多相关《MyEclipse80 开发 JSF12 简例详述.docx(7页珍藏版)》请在冰豆网上搜索。
MyEclipse80开发JSF12简例详述
MyEclipse8.0 开发 JSF1.2 简例详述
简介
本例详细描述用MyEclipse8.0开发JSF1.2web应用的过程。
相关的标准是:
J2EE5.0,Servlet2.5,JSP2.1/EL2.1,JSF1.2,JSTL1.2。
这一套标准大概出现在2006年。
客户端展示使用JSP(而不是facelets)。
JSF实现采用的是缺省的sun参考实现,用到的lib文件有jsf-api.jar(javax.faces.*),jstl-1.2.jar(partofJSPAPI),jsf-impl.jar(com.sun.faces.*),和javeee.jar。
(javaee.jar应该不是必须,但没试过)。
(本例改编自MyEclipse8.0帮助文档。
)
安装MyEclipse8.0(略)
创建web 应用:
操作菜单:
File->New->WebProject, 输入ProjectName:
MyJSFProject, 把J2EESpecificationLevel改为:
JavaEE5.0。
点Finish。
测试:
操作菜单:
Run->RunAs->MyEclipseServerApplication。
应该在Console中显示MyEclipseTomcat启动输出信息,并在MyEclipseWebBrowser中显示http:
//thinkpad:
8080/MyJSFProject/。
页面输出:
ThisismyJSPpage.
加入JSF能力:
在“PackageExplorer”中选中项目MyJSFProject,然后操作菜单:
MyEclipse->ProjectCapabilities->AddJSFCapabilities...,在显示的对话框中,不做任何修改,直接点击Finish。
查看:
1.发现web.xml文件加入了FacesServlet的配置;
2.产生了faces-config.xml文件。
创建一个Bean(JSF称之为managedbean):
打开faces-config.xml,MyEclipse提供了这个文件的三种呈现视图:
Flow,Design和Source,点击Design,在faces-config列表中选中ManagedBeans,会出现ManagedBeans编辑表格,点击Add...,把Scope设置成Session,Class:
写成com.myjsf.UserBean,Name写成UserBean。
最后点击Finish。
查看:
1.在src目录下生成了com/myjsf/UserBean.java文件。
2.在faces-config.xml中加入了UserBean的配置信息。
为UserBean添加属性:
在faces-config(Design视图)列表中选中ManagedBeans->UserBean,在Properties编辑表格中,点击Add...,在
Property-Name中录入:
userName,然后点击Finish。
用同样的方法加入属性:
password。
查看:
UserBean.java文件加入了两个属性和它们的setter/getter方法代码。
为UserBean添加Action:
(能被form表单调用的Action)
在UserBean.java加入方法login,代码如下:
publicStringlogin(){
if("myeclipse".equals(getUserName())&&"myeclipse".equals(getPassword()))
return"success";
FacesContextfacesContext=FacesContext.getCurrentInstance();
FacesMessagefacesMessage=newFacesMessage(
"Youhaveenteredaninvalidusernameand/orpassword");
facesContext.addMessage("loginForm",facesMessage);
return"failure";
}
后面将演示,这个方法如何被调用。
创建login.jsp和loginok.jsp
打开faces-config.xml文件,这次使用Flow编辑器,在左面工具栏中,点击具有“J”标志的工具框,在编辑器空白处点击鼠标,会弹出此JSP信息编辑对话框,FileName:
改成login.jsp。
Templatetouse:
改成DefaultJSFTemplate。
点击Finish。
用同样的方法,创建loginok.jsp。
本例的目标是用户在login.jsp中输入用户名和密码后,提交的请求被UserBean处理,如果验证正确,则页面跳转到loginok.jsp,如果不成功,则仍然返回login.jsp。
点击带有右箭头的工具框,顺序点击login.jsp和loginok.jsp,会出现一个箭头,并弹出对话框,在FromOutcome中填入success。
(这个success与上面login方法中的返回值“success”对应),意思是说,UserBean处理完login.jsp的请求,返回成功时,则跳转到loginok.jsp页面。
再点击带有右箭头的工具框,顺序点击login.jsp两次,会出现一个闭合的箭头,并弹出对话框,在FromOutcome中填入failure。
(这个failure与上面login方法中的返回值 “failure”对应),意思是说,UserBean处理完login.jsp的请求,返回失败时,则跳转到login.jsp页面。
好,到此为止,本例中的Bean代码和 faces-config.xml的代码都写完。
下面开始写 login.jsp和loginok.jsp代码。
编辑jsp代码,可以用MyEclipse自带的design工具,下面就不详细描述了。
结果代码如下(只有斜体部分才是后加入的代码):
login.jsp的代码:
<%@pagelanguage="java"pageEncoding="ISO-8859-1"%>
<%@tagliburi="prefix="h"%>
<%@tagliburi="prefix="f"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()":
//"request.getServerName()":
"request.getServerPort()path"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
--
-->
view> formid="loginform"> outputLabelvalue="UserName: "> outputLabel> inputTextid="userName"value="#{UserBean.userName}"required="true"rendered="true"> inputText> outputLabelvalue="Password: "> outputLabel> inputSecretid="passsword"value="#{UserBean.password}"rendered="true"required="true"> inputSecret> commandButtonid="submit"action="#{UserBean.login}"type="submit"value="Submit"> commandButton> form>
view>
注意,action="#{UserBean.login}"意味着调用UserBean的login方法。
Form表单属性userName和password与UserBean的属性一一对应。
loginok.jsp代码:
<%@pagelanguage="java"pageEncoding="ISO-8859-1"%>
<%@tagliburi="prefix="h"%>
<%@tagliburi="prefix="f"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()":
//"request.getServerName()":
"request.getServerPort()path"/";
%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
--
-->
view> Hello outputTextvalue="#{UserBean.userName}"/>,yousuccessfullyloggedin.
view>
好,至此,本例所有代码写完。
运行:
操作菜单:
Run->RunAs->MyEclipseServerApplication。
应该在Console中显示MyEclipseTomcat启动输出信息,并在MyEclipseWebBrowser中显示http:
//thinkpad:
8080/MyJSFProject/。
重新在URL中输入http:
//thinkpad:
8080/MyJSFProject/login.faces,需要注意的是,URL的扩展名是.faces,而不是.jsp。
页面显示,输入用户名和密码的页面,输入myeclipse作为用户名和密码,会跳转到loginok页面,否则,仍然停留在login页面。
附录:
下面是web.xml和faces-config.xml的完成文件:
web.xml
xmlversion="1.0"encoding="UTF-8"?
>
xsi="http: //www.w3.org/2001/XMLSchema-instance"version="2.5"xsi: schemaLocation=" faces-config.xml xmlversion="1.0"encoding="UTF-8"? > xmlns: xi="http: //www.w3.org/2001/XInclude" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance"xsi: schemaLocation="
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MyEclipse80 开发 JSF12 简例详述 详述