快速业务通道

怀疑论者的JSF: 消除关于JSF的FUD - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
="Add" />    <h:commandButton id="submitMultiply" action="#{CalcBean.multiply}" value="Multiply" /> </h:panelGroup>

panelGroup 在概念上类似于 panelGrid,只是它布局组件的方式不同。命令按钮使用 action="#{CalcBean.add}" 将按钮绑定到 backing bean 上的一个方法。因此,当用按钮提 交表单时,关联的方法就会被调用(假设所有验证无误)。

至此,编写 JSF 应用程序的最艰难的工作已经完成了。最后两步将是微不足道的。

创建 results.jsp 页面

results.jsp 页面用于显示最终计算器操作的结果。它的定义如清单 4 中所示。

清单 4. results.jsp 页面

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> ... <f:view>   First Number: <h:outputText id="firstNumber" value="# {CalcBean.firstNumber}"/>   <br />   Second Number: <h:outputText id="secondNumber" value="# {CalcBean.secondNumber}"/>   <br />   Result: <h:outputText id="result" value="#{CalcBean.result}"/>   <br /> </f:view>

该 results.jsp 文件是一个相对简单的页面,用于将加法结果显示给用户。它是通过 <outputText> 标签来做到这一点。<outputText> 标签有一个 id 和 value 属 性。value 属性在呈现时将 bean 值输出为字符串。value 属性使用 JSF 将输出值绑定到 backing bean 属性(即 firstNumber、secondNumber 和 result)。

怀疑论者的JSF: 消除关于JSF的FUD(9)

时间:2011-04-11 IBM Rick Hightower

运行应用程序!

要运行该应用程序,请转到 war 文件被映射的页面。这导致 index.jsp 文件加载 calculator.jsp 页面。如果您在 firstNumber 字段或 secondNumber 字段输入一些有效的 文本(例如,“abc”)并提交,那么您将被带回 /calculator.jsp 视图,并且会在相应的 字段边上显示一条错误消息。如果您让 firstNumber 字段或 secondNumber 字段保持为空并 提交,那么您将被带回 /calculator.jsp 视图,并且会在相应的字段边上显示一条错误消息 。因此,您可以看到,在 JSF 中,一些验证几乎是自动的,只要指定字段是必需的,并将字 段绑定到 int 属性即可。

图 4 展示了应用程序是如何处理验证和数据转换错误的。

图 4. 验证和数据转换错误

怀疑论者的JSF: 消除关于JSF的FUD - 编程入门网

结束语

如果在阅读完这篇对 JSF 的介绍之后,您还有一点持怀疑态度,那么不要担心,您已经 越过了最艰难的一道坎了。了解 JSF 的概念框架对于执行该技术来说已经成功了一大半,而 且马上您就会认识到做这样的了解是值得的。

以防您还认为用 Struts 编写应用程序容易一些,我做了一个估计,创建本文的这个简单 的 JSF 应用程序的 Struts 版本,至少要花费相当于这里所花费的两倍的精力。要用 Struts 构建这个相同的示例应用程序,需要两个操作类用于两个按钮,每个类又需要它自己 的一组操作映射。您还需要一个操作映射用于加载第一个页面,这是在至少假设您遵循 Model 2 推荐的条件下的情况。要模仿 JSF 默认错误处理和验证,还必须配置 Struts 使用 验证器框架,或者在 ActionForm 上的 validate 方法中实现等价的操作。您必须要么在 Struts 配中声明一个 DynaValidatorForm,要么创建一个 ActionForm 并覆盖 validate 方 法,要么使用 ValidatorForm 的子类,并在验证器框架中放置钩子。最后,可能需要配置一 些转向

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号