组成部分: 1、定义登陆和欢迎屏幕的页面。index.jsp 和 welcome.jsp 2、管理用户数据的bean,bean是一个提供属性的Java类,通常属性后面紧跟遵守简单命名约定的getter 和 setter 方法。这个类的代码如下:
package com.corejsf;
public class UserBean {
private String name;
private String password;
public String getName() {return name;}
public void setName(String name) {this.name=name;}
public String getPassword() {return password;}
public void setPassword(String password) {this.password=password}
}
3、程序的配置文件列出了bean资源和导航规则。这个文件支持默认为faces-config.xml. 与web.xml在同一个目录下。
4、保证servlet容器正常运行必需的其他文件:web.xml和index.html,后者负责将用户定向到正确的登陆页URL.
下面是face-config.xml关键代码:
定义导航规则:凡是由index.jsp页面请求而来,如果action 是"login" 这页面跳转到welcome.jsp的页(这属于一个请求转发),否则不做任何跳转。
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/welcome.jsp</to-view-id>
</navigation-case>
</navigation-rule>
下面设置受管BEAN即UserBean。引用名:user 完整类名:com.corejsf.UserBean 和 会话范围即将对象放在什么范围中。session表示放在session范围内。
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>com.corejsf.UserBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
在部署JSF的时候还需要在web.xml配置JSF主控制器,定义什么样的地址将被下面的jsf servlet 拦截处理。和配置一般的servlet一样。
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servelt-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
凡是.faces结尾的url将会被匹配,所以会被该JSF servlet处理,比如。。。/index.faces 会被Faces Servlet处理,然后由他来处理index.jsp文件,
最后把index.jsp转成一般HTML返回给浏览器。
package com.corejsf;
public class UserBean {
private String name;
private String password;
public String getName() {return name;}
public void setName(String name) {this.name=name;}
public String getPassword() {return password;}
public void setPassword(String password) {this.password=password}
}
3、程序的配置文件列出了bean资源和导航规则。这个文件支持默认为faces-config.xml. 与web.xml在同一个目录下。
4、保证servlet容器正常运行必需的其他文件:web.xml和index.html,后者负责将用户定向到正确的登陆页URL.
下面是face-config.xml关键代码:
定义导航规则:凡是由index.jsp页面请求而来,如果action 是"login" 这页面跳转到welcome.jsp的页(这属于一个请求转发),否则不做任何跳转。
<navigation-rule>
<from-view-id>/index.jsp</from-view-id>
<navigation-case>
<from-outcome>login</from-outcome>
<to-view-id>/welcome.jsp</to-view-id>
</navigation-case>
</navigation-rule>
下面设置受管BEAN即UserBean。引用名:user 完整类名:com.corejsf.UserBean 和 会话范围即将对象放在什么范围中。session表示放在session范围内。
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>com.corejsf.UserBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
在部署JSF的时候还需要在web.xml配置JSF主控制器,定义什么样的地址将被下面的jsf servlet 拦截处理。和配置一般的servlet一样。
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servelt-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
凡是.faces结尾的url将会被匹配,所以会被该JSF servlet处理,比如。。。/index.faces 会被Faces Servlet处理,然后由他来处理index.jsp文件,
最后把index.jsp转成一般HTML返回给浏览器。