【发布时间】:2013-08-20 15:21:01
【问题描述】:
我有一个调用名为 generateLicense 的 bean 方法的 jsf 按钮。这个bean方法返回一个字符串来执行重定向,像这样
"/licenseGenerated.xhtml?faces-redirect=true"
这个方法应该根据用户的输入做几个后端调用。现在,这意味着我必须添加一些错误处理。这是我需要的行为。
用户访问应用程序并位于 main.xhtml 页面中。用户输入值并单击按钮。如果整个过程正常工作,那么用户应该被重定向到 /licenseGenerated.xhtml 页面。否则,如果发生错误,我不需要重定向。我需要的是在 main.xhtml 页面上呈现一个包含错误消息的 jsf 组件。
那么,generateLicense方法在出错的情况下应该返回什么,按钮的jsf代码又会是怎样的呢?
感谢您的帮助!
-编辑-
在 bean 的方法执行期间会检测到错误。这是基于来自休息服务的响应。简单地说,该服务有两种可能的结果。 200(OK),在这种情况下,需要重定向,或者 400(NOT FOUND),以防用户输入错误。所以,java 方法看起来像这样:
public String generateLicenseFile(){
String response = "";
... // all the back-end computations
if(response == "200"){
return "/licenseGenerated.xhtml?faces-redirect=true";
}else{
//ERROR HANDLING.
}
}
这是按钮的当前代码。
<h:commandButton value="Generate License File" action="#{agreement.generateLicenseFile}" />
【问题讨论】:
-
究竟是什么,你所说的“错误”? JSF 验证错误,例如
required="true"?这会很奇怪,因为默认情况下 JSF 操作不会对转换/验证错误执行,因此您根本不必担心这一点。 -
对不起,我没有详细说明。我将在帖子中添加更多信息并进行编辑。谢谢!