【发布时间】:2012-05-10 21:27:32
【问题描述】:
我需要在我的 ajax 请求中向服务器传递一个参数。请看下面的代码。 范围:查看范围
没有 f:param
<p:column width="40">
<h:inputText id="originalCostInputTxt" value="#{articlePromo.costoBruto}"
<f:ajax event="change"
execute="@this"
listener="#{promotionDetailManagedBean.onCostoBrutoChange}">
</f:ajax>
</h:inputText>
</p:column>
托管 Bean
public final void onCostoBrutoChange(final AjaxBehaviorEvent event) {
createCostoBrutoOptions(promoArticlesList);
}
在这种情况下,方法 onCostoBrutoChange() 会被调用。但是,当我包含 f:param 时它不会被调用。请看下面的代码。
使用 f:param
<p:column width="40">
<h:inputText id="originalCostInputTxt" value="#{articlePromo.costoBruto}"
<f:ajax event="change"
execute="@this"
listener="#{promotionDetailManagedBean.onCostoBrutoChange}">
<f:param value="#{articlePromo.promocionArticuloId}" name="myId"/>
</f:ajax>
</h:inputText>
</p:column>
托管 Bean
public final void onCostoBrutoChange(final AjaxBehaviorEvent event) {
createCostoBrutoOptions(promoArticlesList);
String id = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("myId");
}
无法识别此代码中的不正确之处。请指导。
谢谢, 希哈
【问题讨论】:
标签: ajax jsf input jsf-2 parameter-passing