Ich muss einen Parameter an den Server in meiner Ajax-Anfrage übergeben. Bitte beachten Sie den folgenden Code. Scope: Ansicht ScopeWie übergeben Sie den Parameter an f: ajax in h: inputText? f: param funktioniert nicht
Ohne 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);
}
In diesem Fall wird die Methode onCostoBrutoChange() nicht wird aufgerufen. Aber es wird nicht aufgerufen, wenn ich f: param einschließe. Bitte beachten Sie den folgenden Code.
Mit 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");
}
nicht in der Lage, was ist falsch in diesem Code zu identifizieren. Bitte führen. nur
Danke, Shikha
War mir nicht bewusst ... Schön !!! – Daniel
Antwort von Gott selbst .. :) Danke. Es funktionierte. Mir war das nicht bewusst. –
@BalusC Ich evaluiere EL programmatisch in 'c: foreach', benutze die Iterationsvariable' var', aber es wird zu 'null' ausgewertet. – Theo