我想从支持bean动态添加按钮到JSF页面(也支持Rich Faces)。
按钮的值需要在运行时确定,并在按下按钮时返回到辅助bean。 (因此标题 - 我实际上试图做一些像“#{beans.run(3)}”这样的事情,即 - 设置一个固定的参数,当点击一个按钮时使用)
因此,例如,如果用户创建一个按钮(在运行时)并为按钮提供值。应将此值返回给要分析的辅助bean。
我的问题 - 如何在运行时分配一个按钮(该按钮是带有a4j:支持子代的JSF组件)? (我尝试使用a4j:actionParam,但无法设法解决)
P.S - 我已经彻底改变了这个问题,从原来太长的问题来看,这个问题更短,更重要
答案 0 :(得分:3)
有许多选择:
使用<f:setPropertyActionListener value="3" target="#{bean.propety>
,其中propety
稍后会被run()
方法读取。
<h:commandButton action="#{bean.run}">
<f:setPropertyActionListener target="#{bean.property}"
value="#{pageVariable}" />
</h:commandButton>
<!-- pageVariable contains the number you are passing -->
public class Bean {
private int property; // with setters and getters
public void run() {
// do something with property
}
}
使用Facelets函数(here's an example用于此类函数)(并非适用于所有情况)