我的 Jsp 中有复选框,字符串值不是一个单词,即两个或三个单词:
<tr>
<td> Change Password</td>
<td><input type="checkbox" name="admin" value="Change Password" /></td>
</tr>
<tr>
<td> Add User</td>
<td><input type="checkbox" name="admin" value="Add User" /></td>
</tr>
<tr>
<td> Modify Workclass</td>
<td><input type="checkbox" name="admin" value="Modify Workclass" /></td>
</tr>
在我的 servlet 中,我选择这样的值:
String[] adminresources = request.getParameterValues("admin");
if (adminresources.length > 0) {
for (String admin : adminresources) {
System.out.println(admin);
}
}
我的输出仅打印每个值的第一个作品,即:
Change
Add
Modify
我无权更改这些值,因为它们是从外部数据库中获取的(未在我的示例中显示)。我如何获得完整的值,或者我做错了什么,我只得到第一个字?
编辑 使用 Robby Suggestion 我注意到从数据库中选择值的 Jsp 没有被引用。即
<td><input type="checkbox" name="admin" value=<%= (String) one.get(1)%> /></td>
我改为:
<td><input type="checkbox" name="admin" value="<%= (String) one.get(1)%>" /></td>
现在一切正常。
最佳答案
使用 Robby Cornelissen 建议可能不引用数据库中的值。我注意到 JSP 是这样的:
<td><input type="checkbox" name="admin" value=<%= (String) one.get(1)%> /></td>
所以我把它改成这样:
<td><input type="checkbox" name="admin" value="<%= (String) one.get(1)%>" /></td>
这解决了问题。谢谢。
关于java - 当值在java/servlets中有空格时读取复选框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36304278/