目标:修改默认的错误消息
每种类型的验证错误所显示的错误信息是由
Message.properties
文件控制的,该文件位于
jsf-impl.jar
中的
javax.faces
包中。可以通过如下方式查看,展开
Libraries > Sun Java System Application Server >
jsf-impl.jar
>
javax.faces
,然后双击
Messages.properties
。
你可以通过替换应用所使用的属性文件来创建自定义的消息。
1.
右键点击
jAstrologer
工程,然后选择
New > File/Folder
。在
Other
分类中选择
Properties File
,然后点击
Next
。把文件命名为
MyMessages,
输入文件夹位置:
src/java/astrologer/ui
,然后点击
Finish
。
MyMessages.properties
文件显示在源代码编辑区。在
Files
窗口,展开文件夹
src/java/astrologer/ui
来查看文件。
2.
把下面的属性从
Messages.properties
拷贝到
MyMessages.properties
中
:
javax.faces.component.UIInput.REQUIRED={0}: Validation Error: Value is required.
javax.faces.converter.DateTimeConverter.DATE={2}: ''{0}'' could not be understood as a date.
javax.faces.converter.DateTimeConverter.DATE_detail={2}: ''{0}'' could not be understood as a date. Example: {1}
3.
修改属性的值:
javax.faces.component.UIInput.REQUIRED=Please enter a value for this field.
javax.faces.converter.DateTimeConverter.DATE=Please enter a valid date.
javax.faces.converter.DateTimeConverter.DATE_detail=Please enter a valid date. Example: {1}
4.
打开
faces-config.xml
(
在
Projects
窗口的
Configuration Files
节点下
)
,并在
faces-config
主元素下输入下面的内容:
...
<application>
<message-bundle>astrologer.ui.MyMessages</message-bundle>
</application>
</faces-config>
5.
右键点击应用,然后选择
Run Project
。如果你在必填域中不输入任何信息或者在生日输入框中输入了不正确的日期格式,应用将显示下面的错误信息。
注意:那些在自定义属性文件中没有指定的信息将从
jsf-impl.jar
中的
Messages.properties
中获取。同样,您可以为错误信息指定一个
CSS
样式,然后通过如下方式在
message
标记中指定该样式。
<h:message for="birthday" style="color:#369;" /></p>
该部分内容可以参考书上
175
页。
书:《
Java EE 5
实用教程》