我需要使用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>
答案 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标签中会有一个实际值。