Hi all
I checked, everthing is working fine.
This is a good example for array of text or etc.. in action form
code.
jsp page
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<html:html>
<head>
<title>GL
Test</title>
</head>
<body>
<html:form action="/GlTest">
<% for(int i=0; i<2; i++){ %>
<html:text property='<%= "arrayForm[" + i + "].glCode"%>'/>
<html:text property='<%= "arrayForm[" + i + "].operatingUnit"%>'/>
<% }%>
<html:submit/>
</html:form>
</body>
</html:html>
action class
package com.scb.gltest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class GlTestAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
try {
System.out.println("This is my test for array of index");
GlTestForm glTestForm = (GlTestForm) form;
if (glTestForm != null) {
for (int i = 0; i < 2; i++) {
ArrayForm arrayform = glTestForm.getArrayForm(i);
System.out.println("gl code ="+ arrayform.getGlCode());
System.out.println("operating unit ="+arrayform.getOperatingUnit());
}
}
} catch (Exception e) {
e.printStackTrace();
}
return mapping.findForward("success");
}
}
action form
package com.scb.gltest;
import org.apache.struts.action.ActionForm;
public class GlTestForm extends ActionForm {
ArrayForm arrayForm[] = new ArrayForm[2];
public GlTestForm() {
// TODO Auto-generated constructor stub
for (int i = 0; i < 2; i++) {
arrayForm[i] = new ArrayForm();
}
arrayForm[0].setGlCode("mytestGL1");
arrayForm[0].setOperatingUnit("mytestoperting1");
arrayForm[1].setGlCode("mytestGL2");
arrayForm[1].setOperatingUnit("mytestoperting2");
}
public ArrayForm[] getArrayForm() {
return arrayForm;
}
public void setArrayForm(ArrayForm[] arrayForm) {
this.arrayForm = arrayForm;
}
public ArrayForm getArrayForm(int index) {
return this.arrayForm[index];
}
public void setArrayForm(int index,ArrayForm arrayForm) {
this.arrayForm[index].setGlCode(arrayForm.getGlCode());
this.arrayForm[index].setOperatingUnit(arrayForm.getOperatingUnit());
}
}