JSF 1.2入门,第1部分 构建基本应用程序 - 编程入门网
ultPanel。
清单 31 演示 CalculateController 的 add() 方法如何使用这种技术: 清单 31. CalculateController 的 add() 方法,关闭 resultsPanel
在清单 31 中,如果对 calculator.add 方法的调用成功,CalculateController.add 方法会调用 resultsPanel.setRendered(true),这会打开结果面板。如果调用失败,那么 CalculateController.add 调用 resultsPanel.setRendered(false),这个面板不再显示。 现在稍微停一下。请注意:因为 JSF 是一个组件模型,而且组件是有状态的,所以组件会记住它们的 状态。不需要像前面的 Calculator 示例那样包含逻辑。告诉组件不要显示其本身,它就不会再显示了。 如果告诉组件禁用其本身,那么只要视图是活动的,每次装载视图时这个组件都会被禁用。与 Model 2 框架相比,JSF 更接近传统的 GUI 应用程序。需要编写的代码更少,就可以更快地开发 Web 应用程序。 JSF 使Web 应用程序 真正体现了应用程序 的思想。 CalculatorController 处理消息 JSF 提供一种向用户显示状态消息的机制。CalculateController 使用 FacesContext 将消息添加到 FacesContext 中,这样就可以用 <h:messages> 标记向用户显示这些消息。 JSF 在 ThreadLocal 变量中存储一个 FacesContext,可以通过调用 FacesContext.getCurrentInstance() 方法访问它。add() 方法使用当前的 FacesContext 添加消息,这 些消息可供当前请求使用,见清单 32: 清单 32. CalculateController 的 add() 方法添加 JSF 消息
在清单 32 中,如果添加操作成功,就在 facesContext 中添加一个严重性级别为 INFO 的 FacesMessage;如果添加操作抛出异常,就添加一个严重性级别为 ERROR 的 FacesMessage。 用 <h:messages> 标记向用户显示消息,见清单 33: 清单 33. 向最终用户显示错误和状态消息
JSF 1.2入门,第1部分 构建基本应用程序(17)时间:2011-08-09 IBM Richard Hightower如果将 globalOnly 属性设置为 true,就只显示不与特定组件连接的消息,比如在清单 32 中添加的 消息。注意,状态消息和错误消息使用不同的样式。 CalculatorController 纠正 “被零除” 异常 因为我们正在使用一个组件模型,所以可以根据显示逻辑修改组件的值并进行初始化。当新的除法方 法抛出 “被零除” 异常时,可以通过将 secondNumberInput 值设置为 1 来恢复。 首先,需要将 secondNumberInput 绑定到 CalculatorController 类,见清单 34: 清单 34. 绑定输入组件:binding="#{calculatorController.resultsPanel}"
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |