JSF页面导航失败,出现NullPointerException

时间:2011-11-20 06:49:23

标签: jsf

我写了两页......一个是提交数据的表单,另一个是确认交易实际进行了一些计算。

我有一个托管bean,即FormDataBean和一个类Reservation.java,我为每个预订实例化。现在我在表单的末尾有一个提交按钮:

<h:commandButton value="Submit" action="confirmation"/>

在豆子里我像往常一样安装和吸气。在我定义的方法中,我创建了一个Reservation实例,然后将beans变量设置为实例变量,如

reservation.startDate = startDate;
reservation.endDate = endDate;
reservation.checkRange();

最后一个方法,即checkRange()将使用指定的值来实例变量进行计算。它应该返回一个成功或失败的字符串。

现在,当我在表单中输入数据,然后按提交时,它只刷新页面,但没有提交任何内容。因为它不会转到下一页:( 知道发生了什么吗?我不需要定义导航规则,因为在其他项目中,我在下一页进行简单的计算和显示结果,并且它很高兴!请指教 谢谢,

2 个答案:

答案 0 :(得分:0)

你缺少告诉我们一些更重要的细节,所以答案是一种猜测。

由于您不使用导航规则,我假设您使用的是JSF 2,不是吗?

使用JSF 2,您可以直接设置新的导航目标,而无需导航规则。如果您的结果文件名为confirmation.xhtml,则转发到“确认”应该有效。检查一下。使用导航规则,您可以转发它执行不同的文件。

无论其余部分如何,这部分都应该有效。

对于没有获取任何值的bean,请确保通过faces-config.xml中的注释或条目使用正确的作用域。由于您有一个非常不寻常的验证机制,您可能必须使用会话范围。

正确的方法是使用执行检查的actionlistener,然后根据您的检查设置导航。 bean范围可能会更具限制性。

答案 1 :(得分:0)

您是否尝试过action =“确认?faces-redirect = true”?