我已经创建了一个带有html表单的jsp,当提交时会转到servlet。
在我的表单中,我有一个多选列表,填充了值。
在我的servlet中,我想让值进行一些修改。
当我尝试访问servlet中的参数值时,它们都显示为null。
来自servlet的片段:
String[] withAccess = req.getParameterValues("withAccess");
for(int i = 0; i < withAccess.length; i++ )
System.out.println(withAccess[i]);
此代码打印“null”N次,其中N是数组大小。
那么问题是什么?
我无法理解。
在点击提交之前选择了所有元素。
我的html文件,表单所在的位置:
<html>
<script type="text/javascript" language="javascript" src="scripts.js"></script>
<jsp:useBean id="bean2" class="models.JDBCModelAccess" scope="page"/>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="ModelConfiguration.do" method="post">
<label for="models">Models:</label>
<select name="models" id="models" onChange="makeRequest()">
<c:forEach var="model" items="${bean2.models}">
<option>${model}</option>
</c:forEach>
</select>
<label for="withoutAccess">Users without access to the model:</label>
<select name="withoutAccess" id="withoutAccess"size="5" multiple="multiple"> </select>
<label for="withAccess">Users with access to the model</label>
<select name="withAccess" id="withAccess" size="5" multiple="multiple"></select>
<input type="submit" value="Submit" onClick="selectAll(withoutAccess,withAccess,true)">
</form>
</body>
</html>
答案 0 :(得分:0)
<option>
标记内没有<select "withAccess" ...>
个。
你得到5个“项目”,因为你有size="5"
,但它们都是空的。
试试这个:
<select name="withAccess" id="withAccess" size="5" multiple="multiple">
<option>User 1</option>
<option>User 2</option>
<option>User 3</option>
<option>User 4</option>
<option>User 5</option>
</select>