JSF:动作调用时不需要的页面刷新

时间:2011-05-20 12:06:08

标签: jsf refresh

有时候,如果我点击一个调用动作方法的commandButton,它只会在不实际调用方法的情况下进行页面刷新!

我在该方法中设置断点,如果发生此行为,则不会调用该方法。它也有些奇怪:如果我没有填充“required = true”的输入组件中的值,它也会这样做。我希望出现一个valdiation错误。仅当操作方法被称为罚款时才会出现错误。但是,如果它只是发出奇怪的页面刷新,那就不行了。

电话看起来很正常,适用于大多数情况:

<h:commandButton value="Do something"  
                    action="#{bean.doSomething(someBean.value)}" />  

我无法确切地知道此行为何时出现(以及何时出现),但它应该与某些其他组件中选择的值有关。但是......怎么样?

(我在xhtml文件中有两个表单。我只是提到它,因为我不知道它是否重要。但是,没有嵌套表单,h:在页面刷新后没有显示任何内容。)

我正在使用JSF 2(MyFaces)+ Tomahawk。

1 个答案:

答案 0 :(得分:0)

  

没有嵌套表单,h:在页面刷新后不显示任何内容

在处理表单提交请求期间,您可能会在组件或其父级之一上评估rendered的{​​{1}}属性。您需要确保它的评估与显示页面时的评估相同。您可以通过将bean的负责人放在视图范围而不是请求范围中来完成此操作。

另见: