JSF初探

利用JSF创建登录验证

环境要求:

服务器:Tomcat6.0或更高,jboss6或更高

集成开发环境:MyEclipse 8.6 或更高

第一步:创建JSF工程

通过菜单打开创建“Web Project”的向导,如图,然后点击“Finish”按钮完成创建。

然后在左侧工程栏处右键单击对应工程,选择Myeclipse->Add JSF Capabilities如下图:

 

第二步:设置对JSF的支持

在工程上点右键,在弹出的快捷菜单中按图2进行选择,弹出如图对话框,点击“finish”按钮。

第三步:编写页面

删除原有的index.jsp页面,通过菜单打开创建jsp文件的向导如图。

确保“Template to use”选择为“Default JSF template”,点击“Finish”按钮。

创建一个JSP页面:index.jsp。在<@ page ....%>之后加入如下内容,完成对JSF标签库的引入。

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

然后在<body>和</body>之间加入如下代码

   <f:view>

      <h1>欢迎进入JSF世界</h1>

   </f:view>

保存。

第四步:访问JSF页面

首先将此工程发布到Tomcat并启动。

打开浏览器,在地址栏中输入:http://localhost:8080/jsf/index.faces,

实验结果:

 

2.       编写Manager Bean

第一步:创建一个包:cn.bean。

第二步:创建一个名叫UserBean的Java Bean并桂到cn.bean包中,其有两个成员:name(名字)和passwd(密码)。

第三步:配置Bean

打开WEB-INF/faces-config.xml,切换到“Design”页面,如图5,选择“Managed Beans”

点击“Add”按钮,打开新窗口,如图。“Class”中输入上面建立的UserBean的完整类名,“Name”中输入UserBean的实例对象名(将在代码中引用),点击“Finish”按钮完成。

3.       使用静态导航规则

第一步:修改前面的index.jsp页面<body>和</body>之间的内容为:

<f:view>
	<h2 align="center">用户登录</h2>
	<h:form>
	<div align="center" style="width:300px;margin:5px auto;">
		用户名:<h:inputText value="#{userBean.name}" /><br />
		密码:<h:inputSecret value="#{userBean.passwd}" /> <br />
		<h:commandButton value="Go" action="login"></h:commandButton>
	</div>
	</h:form>
</f:view>

    

第二步:创建一个新的JSP页面:welcome.jsp。Body中内容如下:

<f:view>
<h:outputText value="#{userBean.name}" />欢迎进本社区。
</f:view>

第三步:创建导航规则

打开“faces-config.xml”文件,切换到“Flow”选项卡,创建规则如图。

注意:导航线的“From Outcome”的值为“login”,必须与index.jsp中<h:commandButto>的aciton属性值一致。

第四步:重新启动Tomcat,然后浏览测试。

1.       使用动态导航

为上面的用户登录添加验证功能。在UserBean中添加如下方法:

public String check(){
		if("John".equals(name) && "123456".equals(passwd)){
			return "login";
		}
		else{
			return "error";
		}
	}

  

修改index.jsp中<h:commandButto>的aciton属性值为“#{userBean.check}”。

新建一个页面:error.jsp;body内容为:<h3 style=”color:red”>用户名或密码错误....</h3>

辑导航规则如图

实验结果:

输入用户名John密码123456则登陆成功,否则登录失败;

注意点:

1)bean建立时,其中包含变量以及相应的方法,对于每个变量xxx都应该有setXxx()和getXxx()方法;

2)对于bean,在manage bean中进行托管时,name中的名称应该与jsp页面当中EL表达式中的变量名称保持一致;

3)对于导航规则图来说,应该在from outcome中输入对应的字符所对应的应该跳转的页面,如下图:

就到这吧,暂时只想到了这么多,,,

 

 

 

posted @ 2013-04-25 23:14  再见,少年  Views(378)  Comments(0Edit  收藏  举报