Ho provato le soluzioni precedenti con primefaces 4.0 ma non ha funzionato per me.
Così come una soluzione ho dovuto mettere un <h:inputHidden>
e impostare il valore a una proprietà di un ManagedBean, e poco prima di chiamare la <p:remoteCommand>
ho impostato il valore di questo h: inputHidden (usando jQuery) e chiamare il p: remoteCommand (con assicurandosi il comando remoto sta elaborando l'h: inputHidden)
FormBean.java
@ManagedBean(name = "formBean")
@ViewScoped
public class FormBean {
private String myValue;
public String getMyValue() {
return myValue;
}
public void setMyValue(String myValue) {
this.myValue = myValue;
}
public void remoteAction() {
someAction(myValue);
}
}
form.xhtml
.....
<p:remoteCommand name="remoteAction" actionListener="#{formBean.remoteAction()}" process="@this myValueHidden" />
<h:inputHidden id="myValueHidden" value="#{formBean.myValue}" />
.....
form.js
function onClickOfSomeButton() {
$('#formName\\:myValueHidden').val('myValue test value');
remoteAction();
}
EDIT
Anche questo funziona perfettamente ..
remoteAction([{name: 'name1', value: 'value1'}, {name: 'name2', value: 'value2'}]);
Spero che questo aiuti ...
fonte
2013-11-06 11:48:04
La risposta qui non è aggiornata, si prega di consultare http://stackoverflow.com/a/18510102/55070 – leo