自定义ViewHandler以覆盖javax.faces.viewstate隐藏字段值

时间:2012-11-23 19:32:48

标签: jsf-2

我们可以在页面渲染之前更改inputHidden字段“javax.faces.viewState”的值。

对于该领域

应将值更改为不同的长度值。可以通过使用自定义viewHandler来完成吗?

我们可以通过将类扩展到ResponseWriter来实现这一目的。

1 个答案:

答案 0 :(得分:1)

该字段由您从当前渲染工具包中获取的ResponseStateManager呈现。

如果您查找其API,您将看到您不能仅覆盖该字段的值。你必须更换整个东西!由于状态保存非常复杂(考虑服务器和客户端算法),我会考虑尝试这个。

另一种方法是使用Servlet过滤器捕获整个响应。隐藏字段的名称是标准化的,您可以在其上进行搜索和替换。对于回发,您可以使用相同的过滤器来恢复参数。