c:set
当按下某个按钮并发生重定向时,是否可以“执行”/“渲染”各种标签?
我不想以代码方式设置支持 bean 的属性,因为我用静态数据填充它们。由于我在这里不是在谈论一个按钮而是在谈论多个按钮,因此以代码方式执行此操作会产生大量样板代码。这就是我想使用c:set
.
c:set
当按下某个按钮并发生重定向时,是否可以“执行”/“渲染”各种标签?
我不想以代码方式设置支持 bean 的属性,因为我用静态数据填充它们。由于我在这里不是在谈论一个按钮而是在谈论多个按钮,因此以代码方式执行此操作会产生大量样板代码。这就是我想使用c:set
.
对于您心目中的工作来说,这<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 更好的可收藏链接。