2011-11-20 224 views
0

我写了两页...一个表单提交数据,第二个只是确认事务进行了一些计算。JSF页面导航失败,出现NullPointerException

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

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

在bean中我有setters和getters像往常一样。在方法I I所定义创建预约的一个实例,然后将豆变量实例variabels,像

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

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

现在,当我在表单中输入数据,并按下提交,它只刷新页面,但没有提交。因为它没有进入下一页:( 任何想法发生了什么?我不需要定义一个导航规则,因为在其他项目中,我在下一页进行简单的计算和显示结果,并且它崇拜!建议 谢谢,

回答

0

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

当你不使用导航规则我假设你使用JSF 2,AREN如果你的结果文件名为confirmmatio,那么转发到“确认”应该可以工作。 n.xhtml。检查一下。有了导航规则,你可以转发它做一个不同的文件。

这部分应该工作,不管其余。

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

正确的方法是使用一个actionlistener执行您的检查,然后根据您的检查设置导航。那么bean的作用域可能会更加严格。

0

您是否尝试了action =“confirmation?faces-redirect = true”?