有时候,如果我点击一个调用动作方法的commandButton,它只会在不实际调用方法的情况下进行页面刷新!
我在该方法中设置断点,如果发生此行为,则不会调用该方法。它也有些奇怪:如果我没有填充“required = true”的输入组件中的值,它也会这样做。我希望出现一个valdiation错误。仅当操作方法被称为罚款时才会出现错误。但是,如果它只是发出奇怪的页面刷新,那就不行了。
电话看起来很正常,适用于大多数情况:
<h:commandButton value="Do something"
action="#{bean.doSomething(someBean.value)}" />
我无法确切地知道此行为何时出现(以及何时出现),但它应该与某些其他组件中选择的值有关。但是......怎么样?
(我在xhtml文件中有两个表单。我只是提到它,因为我不知道它是否重要。但是,没有嵌套表单,h:在页面刷新后没有显示任何内容。)
我正在使用JSF 2(MyFaces)+ Tomahawk。
答案 0 :(得分:0)
没有嵌套表单,h:在页面刷新后不显示任何内容
在处理表单提交请求期间,您可能会在组件或其父级之一上评估rendered
的{{1}}属性。您需要确保它的评估与显示页面时的评估相同。您可以通过将bean的负责人放在视图范围而不是请求范围中来完成此操作。