快速业务通道

JSF 1.2入门,第1部分 构建基本应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
后的 Calculator

JSF 1.2入门,第1部分 构建基本应用程序 - 编程入门网

我只触及了 <panelGrid> 支持的样式的皮毛。

JSF 1.2入门,第1部分 构建基本应用程序(11)

时间:2011-08-09 IBM Richard Hightower

改进错误消息

如果您的用户是技术专家,那么这些错误消息倒是很合适。否则,用户很难理解它们的意思。可以以 几种方式改进它们。可以先添加一个标签,见清单 18:

清单 18. 添加一个标签

<h:inputText id="firstNumber" label="First Number" ... /> ... <h:inputText id="secondNumber" label="Second Number" .../> ...

注意,在 h:inputText 字段中使用了 label="First Number" 属性。现在看到的错误文本像图 7 这 样:

图 7. 带标签的消息

JSF 1.2入门,第1部分 构建基本应用程序 - 编程入门网

标签名不再是属性名,对用户更友好了。但是,既然错误消息总是出现在字段旁边,那么可能根本不 需要标签。另外,错误消息非常长。可以用清单 19 中的代码缩短它们:

清单 19. 显示简短的消息而不是细节

<h:outputLabel value="First Number" for="firstNumber" /> <h:inputText id="firstNumber" label="First Number"   value="#{calculator.firstNumber}" required="true" /> <h:message for="firstNumber" showSummary="true" showDetail="false"/>

注意,清单 19 将 h:message 组件的 showSummary 和 showDetail 属性设置为 showSummary="true" showDetail="false"。对于转换和必需字段 firstNumber 和 secondNumber,这会产生 “First Number: ''aaa'' must be a number consisting of one or more digits.” 和 “Second Number: Validation Error: Value is required.” 这样的消息。但是,这仍然不够好。下面讨论一种更好的替代方法。

覆盖消息文本

JSF 1.2 添加了 requiredMessage 和 conversionMessage,所以我们可以根据不同的情况覆盖消息, 见清单 20:

清单 20. 使用 requiredMessage 和 converterMessge 覆盖消息

<%-- First Number--%> <h:outputLabel value="First Number" for="firstNumber" /> <h:inputText id="firstNumber" label="First Number"   value="#{calculator.firstNumber}" required="true"   requiredMessage="required" converterMessage="not a valid number"   /> <h:message for="firstNumber" /> <%-- Second Number--%> <h:outputLabel value="Second Number" for="secondNumber" /> <h:inputText id="secondNumber" label="Second Number"   value="#{calculator.secondNumber}" required="true"   requiredMessage="required" converterMessage="not a valid number"   /> <h:message for="secondNumber" />

注意,清单 20 中的 h:inputText 添加了 requiredMessage="required" converterMessage="not a valid number"。现在看起来不错了,而且消息在 <h:panelGrid> 的上下文中是有意义的:它们出 现在字段的旁边,所以用户知道它们应用于哪个上下文(见图 8):

图 8. 更短的消息

JSF 1.2入门,第1部分 构建基本应用程序 - 编程入门网

这种方法的问题是,需要在每个 inputText 字段中添加 requiredMessage 和 converterMessage。对 于这个简单的示例,这倒不是问题。但是对于真正的应用程序,就会在维护方面造成大

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号