jspに何か新しいものを入力してから、リストをアクションクラスに送信するときに値を取得するにはどうすればよいですか?現在、jspからアクションクラスに送信して、アクション内に作成した新しいリストを表示できます。ただし、jspに入力した値を取得できるようにしたいと思います。
従業員オブジェクトクラス:
public class Employee {
String empid;
String empname;
public String getEmpid() {
return empid;
}
public void setEmpid(String empid) {
this.empid = empid;
}
public String getEmpname() {
return empname;
}
public void setEmpname(String empname) {
this.empname = empname;
}
public Employee(String empid, String empname) {
this.empid = empid;
this.empname = empname;
}
}
従業員JSP:
<%@page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO- 8859-1"%>
<%@ include file="../imports.jsp" %>
@page import="java.util.List"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> Struts Logic Iterate Tag</title>
</head>
<body bgcolor="#ffcc66">
<html:form action="/logiciterate" styleId="LogicIterateForm" method="post">
<h1>Struts logic:iterate tag </h1>
<table style="font-weight:bold">
<tr><td>Employee ID</td>
<td>Employee Name</td></tr>
<logic:iterate name="LogicIterateForm" property="emp" id="employee">
<tr>
<td><html:text name="employee" value="${employee.empid}" property="empid"
indexed="true" /></td>
<td><html:text name="employee" value="${employee.empname}"
property="empname" indexed="true" /></td>
</tr>
</logic:iterate>
<input type="submit" id="submit" value="Submit" title="Submit" name="Submit" >
</html:form>
</body>
アクションクラス:
public class LogicIterateAction extends org.apache.struts.action.Action {
private final static String SUCCESS = "success";
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
if(request.getParameter("Submit") == null) {
LogicIterateForm formBean=(LogicIterateForm)form;
ArrayList<Employee> list = new ArrayList<Employee>();
list.add(new Employee("11A0","Jack"));
list.add(new Employee("11A1","Sam"));
list.add(new Employee("11A2","Joe"));
list.add(new Employee("11A3","John"));
formBean.setEmp(list);
return mapping.findForward(SUCCESS);
}
else{
LogicIterateForm formBean=(LogicIterateForm)form;
ArrayList<Employee> list2 = new ArrayList<Employee>();
list2.add(new Employee("673","Queenie"));
list2.add(new Employee("123","Wally"));
list2.add(new Employee("345","Spike"));
list2.add(new Employee("564","Red"));
formBean.setEmp(list2);
return mapping.findForward(SUCCESS);
}
}
}