在Struts中使用多選的select時,應該做如下設定:
1. jsp頁面 中要在select元素中加入multiple="true"選項;
2. ActionForm 中應將改參數設定成String[]類型;
3. Action 中應該遍曆String數組,進行所需的商務邏輯操作。
範例程式碼如下:
jsp -----------------------------------------------------
<%@ page language="java" import="java.util.*" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<html>
<head>
</head>
<body>
<html:form action="/action1">
<html:select property="param1" multiple="true">
<html:option value="111">111hehe</html:option>
<html:option value="222">222hehe</html:option>
<html:option value="333">333hehe</html:option>
</html:select>
<html:submit value="sub"/>
</html:form>
</body>
</html>
ActionForm -------------------------------------------
public class Form1Form extends ActionForm {
private String param1[];
public String[] getParam1() {
return param1;
}
public void setParam1(String[] param1) {
this.param1 = param1;
}
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
return null;
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
}
}
Action ------------------------------------------------
public class Action1Action extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Form1Form form1 = (Form1Form) form;
String param1[] = form1.getParam1();
for (int i = 0; i < param1.length; i++) {
String param = param1[i];
System.out.println(i + ":" + param);
}
return mapping.findForward("jsp2");
}
}