java - 当值在java/servlets中有空格时读取复选框的值

标签 java jsp servlets checkbox

我的 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/

相关文章:

java - 如何在tomcat中标记JSESSIONID安全?

jsp - java.lang.IllegalArgumentException : Servlet mapping specifies an unknown servlet name GCMBroadcast 异常

java - Android 的闹钟功能打开了吗?

java - 编译器无法识别我的变量

java - 将 Servlet 生成的图像 src 中的图像保存到硬盘

java - 在jsp中合并日期和时间

java - 为什么在开始时尝试没有 "/"的 servlet 映射时会出现异常

java - 为什么调用 validate servlet 时会出现 java.lang.IllegalStateException?

Spring 4 websocket + Tomcat 7.54 异步支持不工作

java - logback 在运行时更改配置和日志文件创建问题