0

c:set当按下某个按钮并发生重定向时,是否可以“执行”/“渲染”各种标签?

我不想以代码方式设置支持 bean 的属性,因为我用静态数据填充它们。由于我在这里不是在谈论一个按钮而是在谈论多个按钮,因此以代码方式执行此操作会产生大量样板代码。这就是我想使用c:set.

4

1 回答 1

2

对于您心目中的工作来说,这<c:set>是错误的工具,因此不适合。它不会在提交表单期间运行,而是在构建视图期间运行。

改为使用<f:setPropertyActionListener>。例如

<h:commandButton value="Submit" action="#{bean.submit}">
    <f:setPropertyActionListener target="#{bean.property1}" value="value1" />
    <f:setPropertyActionListener target="#{bean.property2}" value="value2" />
</h:commandButton>

一个完全不同的选择是只发送请求参数<f:param>。这允许您创建对用户体验和 SEO 更好的可收藏链接。

也可以看看:

于 2012-08-12T12:14:18.200 回答