MyEclipse开发JSF实例(一)

准备工作  
  Eclipse3.1
MyEclipse4.0.3Tomcat  
     
 
打开Eclipse  
 
新建   web   工程,名称为loginj2ee版本为2.4当然2.3也是可以的  
     
 
添加jsf框架,使用1.1.01版本   URL   pattern:   *.faces其它设置使用默认值  
     
 
创建两个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}  
这里花括号中的内容为刚才配置的UserValidatorname属性,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>uv</property-name>  
        <value>#{userValidator}</value>  
      </managed-property>  
    </managed-bean>  
     
 
在这一个bean中,它的uv属性被指定要在运行时注入一个com.UserValidator的实例。  
 

 打开WEB-INF目录下的   faces-config.xml   文件  
 
使用工具栏中的工具创建三个页面login.jspok.jsperror.jsp  
 
 
现在编写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>   
      

注意:当您要开始使用JSF组件时,这些组件一定要在<f: view>与</f:view>之间,就如同使用HTML时,所有的标签一定要在<html>与< /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>  
   


 

然后使用工具栏中的工具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>

   

    <managed-bean>

       <managed-bean-name>UserValidate</managed-bean-name>

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

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

    </managed-bean>

    <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>uv</property-name>

           <value>#{UserValidate}</value>

       </managed-property>

    </managed-bean>

  

</faces-config>

 
     在<navigation-rule>中,我们定义了页面流程,当请求来自<from-view- id>中指定的页面,并且指定了<navigation-case>中的<from-outcome>为login时,则会将请求导向至<to-view-id>所指定的页面。


 
好了,代码完成可以进行测试了,输入正确的用户名和密码,提交后进入ok.jsp  

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值