我在 jsf 页面(primefaces 1.1 版)中使用 p:remoteCommand 更新 ah:inputText 时遇到问题。ActionListener 方法被正常调用,但服务器响应没有更新 inputText 值的新值。这是jsf代码:
<h:inputText id="nationalIdCeo" value="#{InsertPotentianAgencyManagers.ceoNationalId}" />
<p:remoteCommand name="rc_updateNationalIds" immediate="true"
actionListener="#InsertPotentianAgencyManagers.setNationalIds}" update="nationalIdCeo" />
<h:outputLink onclick="rc_updateNationalIds(); return false;" >update NIs</h:outputLink>
这是与backbean相关的方法:
public void setNationalIds(ActionEvent event){
Integer r = new Random( System.currentTimeMillis() ).nextInt(1000000);
ceoNationalId = r.toString();
}
public String getCeoNationalId() {
return ceoNationalId;
}
我还使用 firebug 来收集有关响应的更多信息。以下是更多信息:
<?xml version="1.0" encoding="UTF-8"?>
<partialResponse>
<components>
<component>
<id>form:nationalIdCeo</id>
<output><![CDATA[<input id="form:nationalIdCeo" name="form:nationalIdCeo" type="text" value="" />]]></output>
</component>
</components>
<state><![CDATA[<input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="8EgC7hvJoXWgMHaUZxk5rx66APlnNueyP32ajDxbvc/i5akMf2jX5b2om9fR6WlpZC0i3PIunbrAxQXxMwRdpzSFyU84eV8ygbQsQNq6XkwhToCteAtgw3FDPXnLDGwxTsX9pKGbYknB2FWSo74DqQ==" />]]></state>
<callbackParams>
<callbackParam>{"validationFailed":false}</callbackParam>
</callbackParams>
</partialResponse>
任何解决方案将不胜感激。