【发布时间】:2013-03-08 14:32:13
【问题描述】:
我试图通过 h:selectOneMenu 中的 f:param 传递一个值,如下面的代码所示:
<h:selectOneMenu value="#{jbpmAPIUtil.procNdNameSelectedValue}">
<f:selectItem itemLabel="" itemValue="" />
<f:selectItems value="#{jbpmAPIUtil.procnodes}" var="pn"
itemLabel="#{pn.getName()}" itemValue="#{pn.getId()}" />
<f:ajax event="click" listener="#{jbpmAPIUtil.OnONeMenuProcNdSelChgeHndler}" />
<f:param value="${msntoc.getWorkitemid()}" name="msntocwiid"/>
</h:selectOneMenu>
我什至将 f:param 的值更改为字符串,但在尝试在处理程序中获取该值时总是为空:
public static void OnONeMenuProcNdSelChgeHndler(AjaxBehaviorEvent vce){
String msntocwiid = FacesContext.getCurrentInstance().getExternalContext()
.getRequestParameterMap()
.get("msntocwiid");
System.out.println("procNdNameSelectedValue : "+procNdNameSelectedValue+" msntocwiid :"+msntocwiid);
}
selectOneMenu 不支持 f:param 吗?是否有另一种方法来传递值?
感谢您的帮助!
【问题讨论】:
-
getWorkitemid=>getWorkitemId有错字,使用 $ 符号是有原因的吗? -
no 和 $ 来自 EL,正如我上面提到的,我已经用字符串测试了参数值,但它也没有工作。
标签: jsf-2