- 浏览: 1379975 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (328)
- JSF (27)
- 生活 (12)
- Ajax (26)
- Maven (6)
- CSS (1)
- Shale (3)
- SiteMesh (1)
- Ext (15)
- JMX (2)
- Windows技巧 (7)
- 工作感悟 (18)
- SVN (2)
- SVG (0)
- GoogleGear (0)
- RAP (2)
- SOA与WebService (3)
- 笔记本技术研究 (1)
- Microsoft (2)
- 英语学习 (3)
- PHP (7)
- web 2.0 (6)
- 语义Web (1)
- IT史话 (3)
- iText (3)
- JVM (1)
- PropertiesEditor (1)
- J2SE (33)
- Spring (2)
- Java Batch (1)
- log (2)
- Struts2 (2)
- DWR (0)
- JAAS (3)
- EJB3 (4)
- Flex (8)
- JFreeChart (1)
- WAS (0)
- 数据库 (2)
- 摄影 (0)
- SQL (1)
- Google App Engine (1)
- linux (5)
- Eclipse plugin (10)
- Testing (0)
- Portal (0)
- 移动互联网 (0)
- SWTBot (1)
最新评论
-
江奇缘:
不错!!!!!!
web.xml里<filter-mapping>中的<dispatcher>作用 -
yy8093:
commonj 第三步,那个调用的方法要在哪里调?servle ...
JAVA中多种计时器的比较与分析 -
di1984HIT:
学习了,不错~
web.xml里<filter-mapping>中的<dispatcher>作用 -
penkee:
com.lowagie.text.DocumentExcept ...
iText中输出 中文 -
氵壞男亼乀:
我想请问下 你哪个html里面引入的几个js文件没看懂!你 ...
DWR入门教程之HelloWorld
JSF
在转换和验证时都有可能会产生错误信息:
在使用标准转换器或验证器时,当发生错误时,会有一些预定义的错误信息显示,这些信息可以使用<h:messages>或<h:message>标签来显示出来,而这些预定义的错误信息也是可以修改的,您所要作的是提供一个信息资源文件,例如:
javax.faces.component.UIInput.CONVERSION=Format Error. javax.faces.component.UIInput.REQUIRED=Please input your data.
javax.faces.component.UIInput.CONVERSION是用来设定当转换器发现错误时显示的信息,
而javax.faces.component.UIInput.REQUIRED是在标签设定了required为true,而使用者没有在栏目输入时显示的错误信息。
您要在faces-config.xml中告诉JSF
您使用的信息文件名称,例如:
• 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> <application> <local-config> <default-locale>en</default-locale> <supported-locale>zh_TW</supported-locale> </local-config> <message-bundle>messages</message-bundle> </application> ..... </faces-config>
在这边我们设定了信息文件的名称为messages_xx_YY.properties,其中xx_YY是根据您的Locale
来决定,转换器或验证器的错误信息如果有设定的话,就使用设定值,如果没有设定的话,就使用预定义值。
验证器错误信息,除了上面的javax.faces.component.UIInput.REQUIRED
之外,还有以下的几个:
javax.faces.validator.NOT_IN_RANGE
Validation Error: Specified attribute is not between the expected values of {0} and {1}.
DoubleRangeValidator与LongRangeValidator,{0}与{1}分別代表minimum与maximum所设定的属性
javax.faces.validator.DoubleRangeValidator.MAXIMUM、javax.faces.validator.LongRangeValidator.MAXIMUM
Validation Error: Value is greater than allowable maximum of '{0}'.
DoubleRangeValidator或LongRangeValidator,{0}表示maximum属性
javax.faces.validator.DoubleRangeValidator.MINIMUM、javax.faces.validator.LongRangeValidator.MINIMUM
Validation Error: Value is less than allowable minimum of '{0}'.
DoubleRangeValidator或LongRangeValidator,{0}代表minimum属性
javax.faces.validator.DoubleRangeValidator.TYPE、javax.faces.validator.LongRangeValidator.TYPE
Validation Error: Value is not of the correct type.
DoubleRangeValidator或LongRangeValidator
javax.faces.validator.LengthValidator.MAXIMUM
Validation Error: Value is greater than allowable maximum of ''{0}''.
LengthValidator,{0}代表maximum
javax.faces.validator.LengthValidator.MINIMUM
Validation Error: Value is less than allowable minimum of ''{0}''.
LengthValidator,{0}代表minimum属性
在您提供自定义信息的时候,也可以提供{0}或{1}来设定显示相对的属性值,以提供详细正确的错误提示信息。
信息的显示有概述信息与详述信息,如果是详述信息,则在标识上加上 "_detail",例如:
javax.faces.component.UIInput.CONVERSION=Error. javax.faces.component.UIInput.CONVERSION_detail= Detail Error.
除了在信息资源文件中提供信息,您也可以在程序中使用FacesMessage来提供信息,例如在 JSF -自定义验证器 中我们就这么用过:
.... if(password.length() < 6) { FacesMessage message = new FacesMessage( FacesMessage.SEVERITY_ERROR, "字符长度小于6", "字符长度不得小于 6"); throw new ValidatorException(message); } . ....
最好的方法是在信息资源文件中提供信息,这么一来如果我们要修改信息,就只要修改信息资源文件的内容,而不用修改程序,来看一个简单的例子,假设我们的信息资源文件中有以下的内容:
onlyfun.caterpillar.message1=This is message1.
onlyfun.caterpillar.message2=This is message2 with \{0} and \{1}.
则我们可以在程序中取得信息资源文件的内容,例如:
package onlyfun.caterpillar; import java.util.Locale; import java.util.ResourceBundle; import javax.faces.context.FacesContext; improt javax.faces.component.UIComponent; import javax.faces.application.Application; import javax.faces.application.FacesMessage; .... public void xxxMethod(FacesContext context, UIComponent component, Object obj) { // 取得应用程序代表对象 Application application = context.getApplication(); // 取得信息文件主名称 String messageFileName = application.getMessageBundle(); // 取得当前 Locale 对象 Locale locale = context.getViewRoot().getLocale(); // 取得信息绑定 ResourceBundle 对象 ResourceBundle rsBundle = ResourceBundle.getBundle(messageFileName, locale); String message = rsBundle.getString( "onlyfun.caterpillar.message1"); FacesMessage facesMessage = new FacesMessage( FacesMessage.SEVERITY_FATAL, message, message); .... } .... ....
接下来您可以将FacesMessage对象填入ValidatorException或ConverterException后再丢
出,FacesMessage建构时所使用的三个参数是严重程度、概述信息与详述信息,严重程度有SEVERITY_FATAL、
SEVERITY_ERROR、SEVERITY_WARN与SEVERITY_INFO四种。
如果需要在信息资源文件中设定{0}、{1}等参数,则可以如下:
.... String message = rsBundle.getString( "onlyfun.caterpillar.message2"); Object[] params = {"param1", "param2"}; message = java.text.MessageFormat.format(message, params); FacesMessage facesMessage = new FacesMessage( FacesMessage.SEVERITY_FATAL, message, message); ....
发表评论
-
IBM jsf row select
2009-07-09 19:09 1245http://www.ibm.com/developerwor ... -
JSF中制作双表尾
2008-11-21 21:42 1656最近,在项目中遇到一个制作表尾的问题,效果 如下: ... -
JSF1.2中 ValueExpression的用法
2008-05-22 23:20 4854在1.2之前,可以向下面一样使用ValueBinding: V ... -
Tomcat中如何打开Sun JSF RI 1.2中的日志
2008-05-16 00:50 3550为了更加清楚的了解JSF请求在每一个生命周期中的执行情况,我们 ... -
JSF环境配置(JDK6+Eclipse3.3+Tomcat 6.0+JSF1.2+JSTL1.1)
2008-04-25 23:14 6966第一步: 下载安装 JDK 6 Update 3 h ... -
不可不看,JSF1.2 changes
2008-03-31 17:04 4272变化还是挺多的,仔细看看,可以省掉很多郁闷的时间哦。The n ... -
JSTL 1.2 下载
2008-03-31 14:26 30645在网上找JSTL找了一会,不太好找,就放在这里一份了: 网络下 ... -
JSF 1.2中对以前JSF的修改
2008-03-31 11:00 1880Features that are unavailable ... -
JSF 各版本一览
2008-03-28 18:03 3479JSF started its journey from ve ... -
JSF 背景
2008-03-25 17:29 1740自从第一个web应用程序Struts于2001年6月发布开始, ... -
在Dreamwear中开发JSF
2008-03-09 22:49 2693可以在Dreamwear中安装JSF插件,然后利用Dreamw ... -
JSF中Exception的处理
2007-12-21 15:54 4864JSF中Exception的处理<o:p>< ... -
JSF中Exception的处理
2007-12-21 14:56 78目标: 解析错误信息,使用Globalization 来显示 ... -
Why JSF
2007-12-17 16:03 1262JavaServer Faces is extremely i ... -
源码讲解renderResponse和responseComplete的区别
2007-11-17 00:40 4443看源代码: responseComplete: ... -
JSF 源代码赏析之Lifecycle
2007-11-15 23:41 5899JSF的生命周期在JSF ... -
如何在Maven中配置Richfaces
2007-11-08 17:41 29471.首先到这个地方下载maven http://maven. ... -
JSF 标准 转换器&验证器 文档
2007-11-02 18:50 2232下面是两篇文档 http://www.ibm.com/deve ... -
JSF 源代码赏析之FacesServlet
2007-10-30 00:08 12512学习JSF 多日,现在开始看看源代码。 首先是FacesSer ... -
Websphere 上部署Richfaces 3.10 Demo
2007-10-18 14:03 2263Websphere上部署 richfaces的demo一直有问 ...
相关推荐
jsf中文使用教程jsf中文使用教程
JSF中文教程JSF中文教程JSF中文教程JSF中文教程
jsf 中文文档jsf 中文文档jsf 中文文档jsf 中文文档
精通JSF中文教程精通JSF中文教程精通JSF中文教程精通JSF中文教程精通JSF中文教程精通JSF中文教程
JSF中文文档
JSF的学习入门知识教程,里面有例子还有各个标签的使用及属性介绍
JSF入门教程 JSF标签 JSF的LIB Ajax4JSF使用手册 JSF项目的创建 包你入门
NULL 博文链接:https://sailinglee.iteye.com/blog/429696
jsf的帮助文档介绍,希望能够帮助到学习jsf的人!
JSF的实战,JSF的简单使用~~~~~例子,步骤什么都都写了的。
jsf的中文教程chm版的和讲解jsf中使用到的一些参数的传递方式,学习jsf很不错的材料……
一套包含各种页面元素的并允许自定义的JSP标签库,用来在JSP页面中显示JSF的界面。通过使用JSF所提供的简单而又实用的模型,任何开发人员都可以快速轻松地开发Web应用程序。他们可以使用大量现成的可重用的UI组件,...
VisualWebJSF架构使用教程,VisualWebJSF架构使用教程,VisualWebJSF架构使用教程
jsf 分页 jsf 分页 jsf 分页 jsf 分页
jsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSFjsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSF
深入讨论JSF中Tree2组件使用方法。
JSF 使用 Bean 来达到逻辑层与表现层分离的目的,Bean 的管理集中在组态档案中,您只要修改组态档案,就可以修改 Bean 之间的相依关系。 o Backing Beans o Beans 的组态与设定 o Beans 上的 List, Map 数据转换与...
介绍JSF框架中使用的一些设计模式以及其应用。
JSF是一种用于构建Java ... 包含JSP页面的JSF应用程序也使用由为了表现UI组件和在页面上的其他对象的JSF技术而定义的标准的tag库。 Java Server Faces技术的重要开发框架 sun-ri、myfaces、icefaces、richfaces、seam