当按下某个按钮并发生重定向时,是否可以“执行”/“渲染”各种c:set
标签?
我不想以代码方式设置支持bean的属性,因为我用静态数据填充它们。由于我不是在谈论这里的单个按钮,而是关于多个按钮,因此执行此代码将产生大量的电子设备代码。这就是为什么我要使用c:set
。
答案 0 :(得分:2)
<c:set>
对于您的工作而言是错误的工具,因此是不可或缺的。它在提交表单期间不会运行,但在构建视图期间不会运行。
请改用<f:setPropertyActionListener>
。 E.g。
<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更好。