请在这里提供帮助,getParameter只打印标签中String元素的第一部分.
这是select标签
<select name="ActionSelect" id="ActionSelect" >
<%Iterator itr;%>
<% List data = (List) request.getAttribute("data");
for (itr = data.iterator(); itr.hasNext();) {
String value = (String) itr.next();
%>
<option value=<%=value%>><%=value%></option>
<%}%>
</select>
Run Code Online (Sandbox Code Playgroud)
这是servlet中的代码
PrintWriter pw = response.getWriter();
String connectionURL = "jdbc:mysql://localhost/db";
Connection connection;
try{
this.ibrand = request.getParameter("ActionSelect");
pw.println(ibrand);
} catch (Exception e) {
pw.println(e);
}
Run Code Online (Sandbox Code Playgroud)
在option标记中使用双引号:
<option value="<%=value%>"><%=value%></option>
Run Code Online (Sandbox Code Playgroud)
就像现在一样,您的值可能有一个空格,因此只返回空格前的值的一部分.
顺便说一下,没有必要声明迭代器的顶部; 你可以直接在for循环中这样做:
for (Iterator itr = data.iterator(); itr.hasNext();) {
Run Code Online (Sandbox Code Playgroud)
最后,考虑使用标记库而不是直接将JSP代码编写为JSP中的scriptlet.