【发布时间】:2012-08-12 12:04:24
【问题描述】:
当按下某个按钮并发生重定向时,是否可以“执行”/“渲染”各种c:set标签?
我不想在代码方面设置支持 bean 的属性,因为我用静态数据填充它们。由于我在这里不是在谈论一个按钮而是在谈论多个按钮,因此以代码方式执行此操作会产生大量样板代码。这就是我想使用c:set的原因。
【问题讨论】:
标签: jsf redirect button javabeans backing-beans
当按下某个按钮并发生重定向时,是否可以“执行”/“渲染”各种c:set标签?
我不想在代码方面设置支持 bean 的属性,因为我用静态数据填充它们。由于我在这里不是在谈论一个按钮而是在谈论多个按钮,因此以代码方式执行此操作会产生大量样板代码。这就是我想使用c:set的原因。
【问题讨论】:
标签: jsf redirect button javabeans backing-beans
<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 来说会更好。
【讨论】: