jsf
验证:
required="true" 要求组件值不能为null
提供的标准验证器 (放在组件之间)
<h:inputText value="#{user.name}" required="true">
1. <f:validateLength minimum="5" maximum="10" />
</h:inputText>
验证一个字符串的长度是否在指定范围内
2. <f:validateLongRange maximum="200" minimum="0"/>
验证一个指定范围内的长整形值
3. f:validateDoubleRange 验证一个指定范围内的双精度值
放在组件后面 <h:message for="user"/> 当验证出错后的错误信息。
action倒底是怎么和java联系起来的? bean的方法名一致; #{user.verity} class user { public void verity(){}..}
<h:commandButton value="送出" action="success"/> 也可以是
<navigation-rule>
<from-view-id>/login.jsp</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/welcome.jsp</to-view-id>
</navigation-case>
</navigation-rule>
5. jsf的web应用程序中的映射有两种,一种扩展名,一种是目录。
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern> 把 *.jsp 改成*.faces就可以显示
<!-- <url-pattern>/faces/*</url-pattern>--> 在*.jsp前面加一个/faces/就可
以显示
</servlet-mapping>
6?struts表单处理方案
7.jsf的优点
具有早期框架的一些特性: 支持表单处理,有自己的一整套配套的类型转换
及验证器,也支持国际化编程,及异常等。
有状态的用户界面组件模型 :提示错误跳转回来后,输入信息可以保存住。
用户界面事件的服务器端的处理 :struts是以表单为单位的。
自动生成各种标志语言
与业务对象的声明式集成 IOC
8.web应用程序的各种基本技术抽象层次示意图
[img]
1 jsf的导航规则设置
对于JSF,每一个视图(View)都有一个独特的识别(identifier),称之为View
ID,在JSF中的View ID是从Web应用程序的环境相对路径开始计算,设定时都是
以/作为开头,如果您请求时的路径是/pages/index.faces,则JSF会将扩展名改为
/pages/index.jsp,以此作为view-id
您的来源网页可能是某个特定模块,例如在/admin/下的页面,您可以在<from
-view-id>中使用wildcards,也就是使用 * 字符,例如
<navigation-rule>
<from-view-id>/admin/*</from-view-id>
<navigation-case>
<from-action>#{user.verify}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/pages/welcome.jsp</to-view-id>
</navigation-case>
</navigation-rule>
2
JSF EL是以#开始,将变量或表达式放置在
#{someBeanName}
变量名称可以是faces-config.xml中定义的名称,如果是Bean的话,可以透
过使用 '.' 运算子来存取它的属性,例如:
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<f:view>
<h:outputText value="#{userBean.name}"/>
</f:view>