【发布时间】:2016-07-18 04:30:26
【问题描述】:
我的 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>
现在一切都很好。
【问题讨论】:
-
请检查两次,看起来你写的代码是完美的,一些小错误你没有在这里发布..
-
你能预处理这些值并将 ' ' 替换为 '%20' 吗?可能会成功
-
我猜你的 HTML 中的实际值没有被引用。
-
您可以在
value字段的文本之间添加underscore(_) 并将此( _ )替换为servlet处的空格 -
@ErrorNotFoundException 您能否将问题的更新部分作为答案发布并接受?有助于保持网站清洁且易于浏览。
标签: java jsp servlets checkbox