JSF最简单的例子(1)

作者在 2008-03-14 15:31:43 发布以下内容

回想2007年1月的时候做的一个JSF的项目,那时候在网上找一个简单的例子,结果搜来搜去,都是一篇文章在各个网站转来转去,而且那个例子写的也不怎么样,不是很清楚讲的,而感觉那个例子的层次,架构有点不够清晰。

整个程序很简单就是一个登陆的例子,UserBean是一个普通的JavaBean是用来存放用户信息,生存周期是整个会话期。LoginDao是用来封装一些方法的如查询数据库,判断用户是否存在等。LoginService是用来执行一些操作的,不用关心低层的动作,如登陆不用去关心怎么判断用户存在否。把UserBean注入到DAO层这样就可以把页面上User的信息传入到DAO层来。(具体代码可以在后面的main.jsp和LoginDao看到)

结构图:

faces-config.xml:

<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<faces-config>
 <navigation-rule>
  <from-view-id>/page/main.jsp</from-view-id>
  <navigation-case>
   <from-outcome>welcome</from-outcome>
   <to-view-id>/page/welcome.jsp</to-view-id>
   <!--<redirect/>-->
  </navigation-case>
  <navigation-case>
   <from-outcome>false</from-outcome>
   <to-view-id>/page/false.jsp</to-view-id>
   <!--<redirect/>-->
  </navigation-case>
 </navigation-rule>
 <managed-bean>
  <managed-bean-name>user</managed-bean-name>
  <managed-bean-class>com.jsf.bean.UserBean</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
 </managed-bean>
 <managed-bean>
  <managed-bean-name>loginDao</managed-bean-name>
  <managed-bean-class>com.jsf.dao.LoginDao</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
  <managed-property>
   <property-name>user</property-name>
   <value>#{user}</value>
  </managed-property>
 </managed-bean>
 <managed-bean>
  <managed-bean-name>login</managed-bean-name>
  <managed-bean-class>com.jsf.service.LoginService</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
  <managed-property>
   <property-name>loginDao</property-name>
   <value>#{loginDao}</value>
  </managed-property>
 </managed-bean>
</faces-config>

<redirect/> 是决定是否用重定向(即URL会发生改变)

session此对象的生存期

user用注入的方式把user对象注入到DAO中

loginDao把DAO注入到service层

welcome登陆成功后跳转的页面(名称和登陆方法返回的字符串一致)

false登陆失败后跳转的页面(名称和登陆方法返回的字符串一致)

J2ee | 阅读 3758 次
文章评论,共0条
游客请输入验证码
文章归档