您的位置:首页 > 编程语言 > Java开发

MyEclipse开发jsf实例

2006-12-24 10:59 309 查看
准备工作
Eclipse3.1、MyEclipse4.0.3、Tomcat

打开Eclipse
新建 web 工程,名称为login,j2ee版本为2.4当然2.3也是可以的

添加jsf框架,使用1.1.01版本 、URL pattern: *.faces其它设置使用默认值

打开WEB-INF目录下的 faces-config.xml 文件
使用工具栏中的工具创建三个页面login.jsp、ok.jsp、error.jsp
使用工具栏中的工具navigation创建页面的关系

以下是配置以后生成的配置文件内容:


<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">




<faces-config >


<navigation-rule>


<from-view-id>/login.jsp</from-view-id>


<navigation-case>


<from-outcome>success</from-outcome>


<to-view-id>/ok.jsp</to-view-id>


</navigation-case>


<navigation-case>


<from-outcome>failure</from-outcome>


<to-view-id>/error.jsp</to-view-id>


</navigation-case>


</navigation-rule>


<navigation-rule>


<from-view-id>/ok.jsp</from-view-id>


</navigation-rule>


<navigation-rule>


<from-view-id>/error.jsp</from-view-id>


</navigation-rule>


</faces-config>

创建两个Bean,一个用来处理用户信息的验证,一个是和页面中的数据进行绑定


UserValidator.java


package com;






public class UserValidator ...{


//这是验证用户名和密码的过程




public String validator(String username,String password)...{


if((username==null)||(username.length()<1))


return "failure";


if((password==null)||(password.length()<1))


return "failure";


if((username.equals("test"))&&(password.equals("test")))


return "success";


else


return "failure";


}


}




LoginBean.java


package com;






public class LoginBean ...{




private String username;


private String password;


private UserValidator uv;






public String getPassword() ...{


return password;


}




public void setPassword(String password) ...{


this.password = password;


}




public String getUsername() ...{


return username;


}




public void setUsername(String username) ...{


this.username = username;


}




public UserValidator getUv() ...{


return uv;


}




public void setUv(UserValidator uv) ...{


this.uv = uv;


}


//用户登录过程




public String login()...{


return uv.validator(username,password);


}


}

现在按下Ctrl + N 键,使用jsp的向导来配置这两个Bean
选择MyEclipse/WEB-JSF/Managed Bean
Project: login
选中:Open Config File in Editor
Name: UserValidator 就是Bean中的一个,这里的name可以自己起一个,如将第一个字母改为小写userValidator
Class: com.UserValidator
Scope: request

点击完成生成配置内容如下:


<managed-bean>


<managed-bean-name>userValidator</managed-bean-name>


<managed-bean-class>com.UserValidator</managed-bean-class>


<managed-bean-scope>request</managed-bean-scope>


</managed-bean>



再次配置另一个Bean,不过这一回增加了一个属性
按下Ctrl + N 键,选择MyEclipse/WEB-JSF/Managed Bean
Project: login
选中:Open Config File in Editor
Name: loginBean
Class: com.LoginBean
Scope: request
点击add按钮
Name: uv 这里的内容为LoginBean中的uv属性,这个可是不能乱填的
Class: 这个不填
点下一步
Property Value: #{userValidator} 这里花括号中的内容为刚才配置的UserValidator的name属性,name属性的第一个字母使用的是小写

好,确定,完成
配置文件中新增了如下代码:


<managed-bean>


<managed-bean-name>loginBean</managed-bean-name>


<managed-bean-class>com.LoginBean</managed-bean-class>


<managed-bean-scope>request</managed-bean-scope>


<managed-property>


<property-name>um</property-name>


<value>#{userValidator}</value>


</managed-property>


</managed-bean>

在这一个bean中,它的um属性被指定要在运行时注入一个com.UserValidator的实例。

现在编写login.jsp中的代码如下:


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


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


<%@ page language="java" pageEncoding="UTF-8"%>


<html>


<head>


<title>Login</title>


</head>




<body>


<f:view>


<h:form>


<h:panelGrid columns="3">


<h:outputLabel for="username" value="User Name:" />


<h:inputText id="username" value="#{loginBean.username}" required="true" />


<h:message for="username" />


<h:outputLabel for="password" value="Password:" />


<h:inputSecret id="password" value="#{loginBean.password}" required="true" />


<h:message for="password" /> 这里的password要和上一行的id="password"对应才可以返回错误消息


</h:panelGrid>


<h:panelGrid>


<h:panelGroup>


<h:commandButton value="Login" action="#{loginBean.login}" />


</h:panelGroup>


</h:panelGrid>


</h:form>


</f:view>


</body>


</html>

修改 index.jsp,代码如下:


<html>


<head>


<title>Index</title>


</head>


<body>


<a href="login.faces">Login</a>


</body>


</html>



修改 ok.jsp,代码如下:


<html>


<head>


<title>Login OK!!!</title>


</head>


<body>


Login Ok!!!<br>


</body>


</html>


修改 error.jsp,代码如下:


<html>


<head>


<title>Error!!!</title>


</head>


<body>


Error!!!<br>


</body>


</html>



好了,代码完成可以进行测试了,输入正确的用户名和密码,提交后进入ok.jsp
原地址:http://www.newbooks.com.cn/info/60672.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: