Frage:
Ist es möglich, Werte an ein PrimeFaces p zu übergeben? :remoteCommand aus JavaScript und wie geht das?
Antwort:
Ja, es ist möglich, Parameter aus JavaScript an einen p:remoteCommand zu übergeben. Die Syntax und Vorgehensweise hängen von der PrimeFaces-Version ab:
Seit PrimeFaces 3.3 hat sich die Syntax wie folgt geändert:
<code class="javascript">increment([{name:'x', value:10}, {name:'y', value:20}]);</code>
Dies ermöglicht die Übergabe mehrere Werte für einen Parameternamen. Auf einwertige Parameter kann weiterhin wie bisher zugegriffen werden:
@ManagedProperty("#{param.x}") private int x; @ManagedProperty("#{param.y}") private int y;
Vor PrimeFaces 3.3 lautete die Syntax:
<code class="javascript">increment({param1:'val1', param2:'val2'});</code>
Im Hintergrund Bean, auf Parameter kann zugegriffen werden über:
@ManagedProperty("#{param.param1}") private String param1; @ManagedProperty("#{param.param2}") private String param2;
In PrimeFaces 3.3 oder neuer ist es möglich, Parameter mit mehreren Werten anzugeben, wie in:
<code class="javascript">functionName([{name:'foo', value:'one'}, {name:'foo', value:'two'}, {name:'foo', value:'three'}]);</code>
Auf diese Parameter kann in einer Bean mit Anforderungsbereich zugegriffen werden:
@ManagedProperty("#{paramValues.foo}") private String[] foos;
Oder in einer Methode einer Bean mit breiterem Gültigkeitsbereich:
<code class="java">Map<String, String[]> paramValues = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterValuesMap(); String[] foos = paramValues.get("foo");</code>
Zusätzliche Ressourcen:
Das obige ist der detaillierte Inhalt vonWie übergebe ich Werte aus JavaScript in PrimeFaces an p:remoteCommand?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!