使用JSP从下拉列表中传递选定的值

时间:2014-11-25 18:58:12

标签: java jsp select

我需要使用jsp和java实现一些基本下拉列表,但我找不到更多信息如何做到这一点。所以我从来没有用JSP写过什么东西,当我没有找到任何帮助时,我的最后选择就是问。 我想获取所选值,并在单击按钮时将值发送到anoher .jsp文件(“我的情况下为selector.jsp”) 请大家帮我一些简单的解决方案。

p.P。:对不起我的英文(:

的index.jsp

    <FORM method="post" action="selector.jsp">
    <select name="select" id="dropdown">
        <% 
            Test t = new Test();
            t.getList().add("a");
            t.getList().add("b");
            t.getList().add("c");
            for(int i=0; i < t.getList().size(); i++){ 
        %>
        <Option value="<%t.getList().get(i);%>"><%=t.getList().get(i)%></Option>
        <%}%>
    </select>
    <input type="submit" value="click"> 

selector.jsp

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    You selected:
    <%
       request.getParameter("select");
       request.getParameterValues("select");
    %>
   </body>
   </html>

2 个答案:

答案 0 :(得分:0)

我通过删除

找到了解决方案
  

值= “LT;%t.getList()获得(I);%&gt;” 中

来自

并保留代码
<Option><%=t.getList().get(i)%></Option>

但我不知道为什么......如果有人可以解释会很棒。 谢谢! (:

答案 1 :(得分:0)

正如您在帖子中指出的那样,问题通过替换

来解决
value="<%t.getList().get(i);%>"

<Option><%=t.getList().get(i)%></Option>

有效的原因如下:

在您的第一个表单中,&lt;%t.getList()。get(i);%&gt;,您有一个JSP scriptlet。这是内联执行的Java代码。在您的情况下,这将执行“get”方法。但请注意,get方法返回一个值,但此值不会输出到响应流中。

在第二种形式中,您使用“&lt;%=”形成了JSP表达式。 “&lt;%=”是“out.println”的简写,因此您提供了以下内容的简写:

<Option><% out.println(t.getList().get(i)) %></Option>

这将方法调用的返回值写入输出流。因此,当此输出到达浏览器时,Option标签中会有一个实际值。