本人刚刚接触jsf 对jsf不了解 想问下
怎样在jsf页面中直接调用后台管理bean中带参数的方法比如我下面写的当我点这个按钮的时候调用后台管理bean中的getlist()方法, 当后台管理bean中的这个方法有参数,而这个参数要从页面中传递过去该怎么写呢???? 我需要的是单击按钮调用方法的同时传递参数,大侠们指点下了,在线等!!!
<h:commandButton action="#{pagebean.getlist}" value="显示"></h:commandButton>
怎样在jsf页面中直接调用后台管理bean中带参数的方法比如我下面写的当我点这个按钮的时候调用后台管理bean中的getlist()方法, 当后台管理bean中的这个方法有参数,而这个参数要从页面中传递过去该怎么写呢???? 我需要的是单击按钮调用方法的同时传递参数,大侠们指点下了,在线等!!!
<h:commandButton action="#{pagebean.getlist}" value="显示"></h:commandButton>
只能采用变通的办法。
比如用f:param传递参数给后台,这样,你就能在函数里获取了
用f:attribute比较好例子如下:
<h:commandButton value="Press here" actionListener="#{myBean.action}">
<f:attribute name="attrname1" value="attrvalue1" />
<f:attribute name="attrname2" value="attrvalue2" />
...
</h:commandButton> public void action(ActionEvent event)
{
String attrvalue1 = (String) event.getComponent().getAttributes().get("attrname1");
String attrvalue2 = (String) event.getComponent().getAttributes().get("attrname2");
...
}
比如:id,name,binding等等,会有冲突
<f:param name="DEPART_ID" value="#{item.id}"></f:param>
<f:param name="OPERATION" value="EDIT"></f:param>
</a4j:commandButton>后台 Map params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String depart_ID=(String) params.get(StaticString.DEPART_ID) ;
String OPERATION=(String) params.get(StaticString.OPERATION);
eg:
<input type="button" onclick="getElementById('back').click();" value="back"
class="button_submit" /> <t:commandLink forceId="true" id="back" action="back" value="#" style="display:none"
styleClass="button_submit" >
<f:param name="isTam" value="yes" />
</t:commandLink>