Muszę przekazać parametr do serwera w mojej prośbie ajaxowej. Zobacz poniższy kod. Zakres: Zobacz ZakresJak przekazać parametr do f: ajax w h: inputText? f: param nie działa
Bez 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>
Managed Bean
public final void onCostoBrutoChange(final AjaxBehaviorEvent event) {
createCostoBrutoOptions(promoArticlesList);
}
W tym przypadku metoda onCostoBrutoChange() nie zostanie wywołana. Ale nie jest wywoływany, gdy dołączam f: param. Zobacz poniższy kod.
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>
Managed Bean
public final void onCostoBrutoChange(final AjaxBehaviorEvent event) {
createCostoBrutoOptions(promoArticlesList);
String id = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("myId");
}
Nie stanie zidentyfikować co jest niewłaściwe w tym kodzie. Proszę przewodnika.
Dzięki Shikha
Nie wiedziałem o tym w ten sposób ... Nice !!! – Daniel
Odpowiedź od samego Boga .. :) Dzięki. Zadziałało. Nie wiedziałem o tym samym. –
@BalusC Ewaluuję EL programowo wewnątrz 'c: foreach', używając zmiennej iteracji' var', ale ona zwraca wartość 'null'. – Theo