检索复选框的值

j91ykkif  于 2021-06-30  发布在  Java
关注(0)|答案(4)|浏览(321)

我已经创建了一个getemployeedetails.jsp页面,在该页面中,我获取了诸如姓名、年龄、爱好等详细信息,并从那里转发到一个sevlet,whcich使用getparameter()检索这些值。。我的问题是表单中的“嗜好”使用了诸如编程、唱歌、睡觉之类的复选框。当我将此页转发到servlet时,我可以检索这些值并设置为如下会话对象:

String[] hobbies = request.getParameterValues("Hobbies");
        for(int i=0;i<hobbies.length;i++){
        session.setAttribute("hobbies", hobbies[i]);
        }

但是,当我想在下一个jsp页面(即showempdetails.jsp)中显示这些员工详细信息时,问题就出现了。我无法检索会话属性“cabbies”的所有值。。它只给出我选中的checkbox的最后一个值。。我在showempdetails.jsp页面中使用了这段代码。。

your hobbies:&nbsp;<%=session.getAttribute("hobbies")%><br>

请引导我。。

3zwjbxry

3zwjbxry1#

您正在覆盖 hobbies 价值观。
可以在中设置这些值 JSON 格式化或简单地重新构造这些值,如

String str=new String(" ");
for(int i=1;i<hobbies.length;i++)
        str=str + "," +hobbies[i];
session.setAttribute("hobbies", str);
u4dcyp6a

u4dcyp6a2#

覆盖 hobbies 价值观。
尝试

session.setAttribute("hobbies"+i, hobbies[i]);
yeotifhr

yeotifhr3#

在你的循环中,你只保存了爱好的最后一个价值。。。
要将所有可以设置为会话变量的内容保存到arraylist中,请执行以下操作:

String[] hobbies = request.getParameterValues("Hobbies");
         ArrayList<String> aux=new ArrayList<>();
         for(int i=0;i<hobbies.length;i++){
             aux.add(hobbies[i]);
         }
         session.setAttribute("hobbies", aux);
dgiusagp

dgiusagp4#

您正在覆盖会话属性“嗜好”。它只包含一个值(最后设置的值),而不是整个列表。

相关问题