我怎样才能禁止Mojarra,将{javax.faces.ViewState隐藏到我的<form>
中?我有一个搜索<form method='GET'>
,它首次加载我的页面(因为我的视图范围的bean被正确地重新初始化)。但是在页面中的AJAX分页(通过PrimeFaces网格)之后,Mojarra(或PrimeFaces?)将隐藏的javax.faces.ViewState注入到我的表单中。现在,当我提交表单时,由于javax.faces.ViewState输入,它不会重新启动我的视图范围bean。
这里的问题是:我希望我的搜索bean初始化并向用户显示结果,但是当传递ViewScope参数时,此bean既不会被初始化也不会显示相关页面。它只是保留在上一页。
答案 0 :(得分:2)
Mojarra不是这样做的,而是PrimeFaces正在这样做。尝试使用<h:commandButton>
调用<f:ajax>
,您会看到它只更新按钮最初所在的表单的视图状态。
您可能希望向PrimeFaces人报告issue他们应该在ajax更新期间不接触任何<form>
和/或没有{{{}的method="get"
元素1}}。
在修复之前,最好的办法是删除提交纯HTML表单时的元素。
<input type="hidden" name="formId" value="formId">