我可以将会话值分配给Iterator内部可用的文本字段。现在,我需要编辑文本字段值(存在于迭代器中)并将其重新分配给同一会话。 提交表单后,我无法通过会话从Formbean获取更新的值。
JSP代码
<s:form name="pvcDefinitionForm" method="POST">
<table>
<s:iterator value="#session.pvcDefinitionForm.vrflPvcInfoList" var="vrflPvcInfo" status="idx">
<%
int ind = ((IteratorStatus)actionContext.getcontext().get("idx")).getIndex();
pageContext.setattribute("ind",ind);
%>
<tr>
<td><s:textfield size="28" value="%{#vrflPvcInfo.pvcId}" name="vrflPvcInfo[%{#attr.ind}].pvcId"
disabled="true" indexed="true" /></td>
<td><s:textfield size="5" value="%{#vrflPvcInfo.tin1}" name="vrflPvcInfo[%{#attr.ind}].tin1"
indexed="true" /></td>
<td><s:textfield size="5" value="%{#vrflPvcInfo.version1}" name="vrflPvcInfo[%{#attr.ind}].version1" indexed="true" /></td>
<td><s:textfield size="5" value="%{#vrflPvcInfo.productGroup1}" name="vrflPvcInfo[%{#attr.ind}].productGroup1" indexed="true" /></td>
<td><s:textfield size="5" value="%{#vrflPvcInfo.node1}" name="vrflPvcInfo[%{#attr.ind}].node1" indexed="true" /></td>
</tr>
</s:iterator>
</table>
<script language="javascript">
if ("<%=processingComplete%>" != "true")
{
document.writeln('<input type="image" src="images/Finish_Button.gif" name="nextButton" accesskey="N" onclick="checksBeforeFinish(this.form);return false;">');
}
function checksBeforeFinish(frm) {
frm.action="<xss:ATTR content='<%=pvcDefinitionForm.getNextMethod()%>' />!<%=pvcDefinitionForm.getNextaction()%>";
frm.method.value="<xss:ATTR content='<%=pvcDefinitionForm.getNextMethod()%>' />";
frm.submit();
return true;
}
</script>
</s:form>
Java代码
public String pvcDefinitionVrflFinish() throws java.lang.Exception {
PvcDefinitionForm formBean = (PvcDefinitionForm) session.getattribute("pvcDefinitionForm");
List<VRFLPvcInfo> vrflPvcInfoList = new ArrayList<VRFLPvcInfo>();
vrflPvcInfoList = formBean.getVrflPvcInfoList();
for (int i=0 ;i<vrflPvcInfoList.size();i++) {
VRFLPvcInfo vrflPvcInfo = (VRFLPvcInfo) vrflPvcInfoList.get(i);
System.out.println("pvcId :"+vrflPvcInfo.getPvcId());
System.out.println("tin1 :"+vrflPvcInfo.getTin1());
System.out.println("version1 :"+vrflPvcInfo.getVersion1());
System.out.println("productGroup1 :"+vrflPvcInfo.getProductGroup1());
System.out.println("node1 :"+vrflPvcInfo.getNode1());
}
PvcDefinitionForm formBeanList = getInstance();
List<VRFLPvcInfo> vrflPvcInfoList1 = new ArrayList<VRFLPvcInfo>();
vrflPvcInfoList1 = formBeanList.getVrflPvcInfoList();
for (int i=0 ;i<vrflPvcInfoList1.size();i++) {
VRFLPvcInfo vrflPvcInfo = (VRFLPvcInfo) vrflPvcInfoList1.get(i);
System.out.println("pvcId :"+vrflPvcInfo.getPvcId());
System.out.println("tin1 :"+vrflPvcInfo.getTin1());
System.out.println("version1 :"+vrflPvcInfo.getVersion1());
System.out.println("productGroup1 :"+vrflPvcInfo.getProductGroup1());
System.out.println("node1 :"+vrflPvcInfo.getNode1());
}
}