所以,我有一个会话范围的 bean,它有 2 个字符串值列表。此 bean 称为 AgreementBean.java。我在一个名为 agreementDetail.xhtml 的页面中显示这些列表,如下所示
<h:dataTable id="servers" value="#{agreement.licenseServerNames}" var="licenseServerName">
<h:column>
<h:inputText value="#{licenseServerName}"/>
</h:column>
</h:dataTable>
Computer IDs<br/>
<h:dataTable id="idNames" value="#{agreement.computerIdNames}" var="computerIdName">
<h:column>
<h:inputText value="#{computerIdName}"/>
</h:column>
</h:dataTable>
如您所见,我希望用户输入这些值。当客户单击“保存按钮”时,我需要进行 Ajax 调用以更新这些值。这是按钮的jsf代码。
<script type="text/javascript">
function showAlert(data){
alert("SAVED!");
}
</script>
<h:commandButton value="Save" immediate="true" type="submit" action="#{agreement.save}">
<f:ajax onevent="showAlert"/>
</h:commandButton><br/><br/>
“Save” bean 方法现在什么都不做,除了记录存储在两个列表中的值。单击按钮时,现在正在发生两件事。如果客户更改了 inputFields 上的值,则 bean 的列表值设置为 null。如果客户没有更改任何内容,则保留 bean 的原始值。
我怎样才能解决这个问题?谢谢!