By www.coolhou.com 灰石
( http://blog.csdn.net/lmstone )
( LimingMail1998@yahoo.com.cn )
文档描述:
JSF简介,Managed Beans,资料转换与验证,事件处理,JSF标签,自定义元素。1-6章原文来自http://www.javaworld.com.tw
2. Managed Beans 2.1. Beans 上的 List, Map 2.2. Beans 的设定 2.3. Backing Beans
package onlyfun.caterpillar;
public class UserBean {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
先显示一个登录网页/pages/index.jsp,使用者填入名称送出表单,之后在/pages/welcome.jsp中显示bean中使用者名称欢迎信息。
<?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>/pages/index.jsp</from-view-id> <navigation-case> <from-outcome>login</from-outcome> <to-view-id>/pages/welcome.jsp</to-view-id> </navigation-case> </navigation-rule> <managed-bean> <managed-bean-name>user</managed-bean-name> <managed-bean-class> onlyfun.caterpillar.UserBean </managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> </faces-config>
l 在<navigation-rule>中,我们定义了页面流程,当请求来自<from-view-id>中指定的页,并指定了<navigation-case>中的<from-outcome>为login时,则会将请求导向至<to-view-id>所指定义的页面。
l 在<managed-bean>中我们可以统一管理我们的bean,我们设定bean物件的存活范围是session。
l 接下来告诉开发人员,他们可以使用bean名称,即<managed-bean-name>中设定的名称,以及上面所定义的页面流程。
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@page contentType="text/html;charset=Big5"%>
<html>
<head>
<title>第一個JSF程式</title>
</head>
<body>
<f:view>
<h:form>
<h3>請輸入您的名稱</h3>
名稱: <h:inputText value="#{user.name}"/><p>
<h:commandButton value="送出" action="login"/>
</h:form>
</f:view>
</body>
</html>
我们使用了JSF的core和html标签库。
l core是有关于UI元件的处理
l html则是有关于HTML的进阶标签
<f:view>与<html>有类似的作用,当你要开始使用JSF元件时,这些元件一要在<f:view>与</f:view>之间,就如同使用html时,所有的标签一定要在<html>与</html>之间。
html标签库中机乎都是与html标签相关的进阶标签,<h:form>会产生一个表单,使用<h:inputText>来显示user这个Bean对象name属性,而<h:commandButton>会产生一个提交按钮,我们在action属性中指定将根据之前定义的login页面流程中前往welcome.jsp页面。
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@page contentType="text/html;charset=Big5"%> <html> <head> <title>第一個JSF程式</title> </head> <body> <f:view> <h:outputText value="#{user.name}"/> 您好! <h3>欢迎使用 JavaServer Faces!</h3> </f:view> </body> </html>
部署war包,IE中输入http://localhost:8080/jsfDemo/pages/index.faces,填入名称并提交,出来欢迎表单。
2. Managed Beans 2.1. Beans 上的 List, Map 2.2. Beans 的设定 2.3. Backing Beans