首先使用JavaScript方法获取所有复选框选中内容,并组合为一个字符串,该字符串随表单提交到服务器,调用JavaBean方法将字符串转换为数组,显示在表格中。其中关键代码如下:
1.新建JavaBean类StringUtil
public class StringUtil {
private String str;//待处理的字符串
private String strArr[];//字符串转换后的数组
private String listSepatator;//分隔符
public StringUtil() {
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public String[] getStrArr() {
return str.split(listSepatator);//将字符串按照指定的分隔符转换为数组
}
public void setStrArr(String[] strArr) {
this.strArr = strArr;
}
public String getListSepatator() {
return listSepatator;
}
public void setListSepatator(String listSepatator) {
this.listSepatator = listSepatator;
}
}
2.新建index.jsp页面,包含一个隐藏域和多个复选框的表单,以及JavaScript方法获取选中的所有复选框的内容
<body>
<form action="toarray.jsp" method="post">
<input type="hidden" name="likes" id="likes">
<table>
<tr><td>您喜欢的水果有:</td></tr>
<tr>
<td>
<input type="checkbox" name="like" value="apple">apple
<input type="checkbox" name="like" value="banana">banana
<input type="checkbox" name="like" value="grape">grape
<input type="checkbox" name="like" value="watermelon">watermelon
<input type="checkbox" name="like" value="strawberry">strawberry
<input type="checkbox" name="like" value="peach">peach
</td>
</tr>
<tr>
<td>
<input type="submit" value="提 交" οnclick="getSelectCheckbox()">
</td>
</tr>
</table>
</form>
<script language="JavaScript">
function getSelectCheckbox() {
var checkObj = document.getElementsByName("like");
var likestr = "";
for (var i = 0;i <checkObj.length; i++) {
if (checkObj[i].checked==true) {
likestr += checkObj[i].value + ",";
}
}
document.getElementById("likes").value = likestr;
}
</script>
</body>
3.新建toarray.jsp页面,使用StringUtil类处理字符串得到字符串数组,并显示选中的复选框内容
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
request.setCharacterEncoding("utf-8");
String likes = request.getParameter("likes");
%>
<jsp:useBean id="strBean" class="com.count.Online.StringUtil"></jsp:useBean>
<jsp:setProperty name="strBean" property="str" value="<%=likes%>"/>
<jsp:setProperty name="strBean" property="listSepatator" value=","/>
<%
String likeArr[] = strBean.getStrArr();
%>
<html>
<head>
<title></title>
</head>
<body>
<table>
<tr>
<td>您爱吃的水果有:</td>
<%
for (int i = 0; i < likeArr.length; i++) {
%>
<td>[<%=likeArr[i]%>]</td>
<%
}
%>
</tr>
</table>
</body>
</html>
4.运行结果如下:
5.开发工具:
IntelliJ IDEA 14.1.3
java version "1.7.0_65"
Apache Tomcat 7.0
Win7 64位