JSF 验证器与消息机制

     公司最近的几个项目都用到JSF,没有过深的去研究。昨天午餐的时候一个同事聊起JSF消息机制,感觉有点意思,收集一下资料。

网上也有许多例子:

      http://java.dzone.com/articles/jsf-validation-tutorial-error

 

验证器与消息机制原里,希望大家自行Google,这里只是简单说说一个我们可能常用的东西。

 

javax.faces.application.FacesMessage:JSF消息定义。
javax.faces.context.FacesContext:JSF 具有TheadLocale属性的容器。
java.util.Locale:JSF通过它来作多语言支持,本地化时候使用。
h:message/h:messages:用来在页面显示JSF消息的标签。

 

JSF消息的添加:

      JSF里添加JSF消息只需要简单地调用FacesContext.addMessage即可。这个方法可以把指定的消息注册到facesContext里,之后便可在JSP里加以显示。
facesContext.addMessage(clientId, FacesMessage);
clientId:与该消息相关联的组件ID,未指定的时候,为全局消息
FacesMessage:JSF消息体定义。它有3个属性:
1、FacesMessage.Severity:消息的级别。可以为

         FacesMessage.SEVERITY_INFO(一般信息), 

         FacesMessage.SEVERITY_WARNING(警告),

         FacesMessage.SEVERITY_ERROR(错误),

         FacesMessage.SEVERITY_FATAL(致命错误)。
2、消息概要
3、消息详细内容
用例:

 

JSF消息的显示:

JSF消息的显示就更简单了,只需在JSP里调用h:message或h:messages即可。
例:
<h:messages globalOnly="true" styleClass="error" showSummary="" showDetail="" layout="table" />
globalOnly:为true时,只显示全局消息。
showSummary:是否显示消息概要。
showDetail:是否显示消息详细。

       <h:message for="username" showSummary="" showDetail=""></h:message>
for:跟消息绑定的组件ID。
(以上部分摘自网络)

 

JSF内建的标准验证器

<f:validateDoubleRange >
<f:validateLongRange>
<f:validateLength>

 这些比较容易从字面理解,看看下面的具体例子:

 

非标准的验证器

      一个组件可以关联任意多个验证器。每个组件都有required属性,可以强制组件不为空。如列表组件、输入框组件,看例子:

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值