我正在尝试从 servlet 中的 .jsp 检索选定的值。选项中显示的值来自“Item”对象的 ArrayList(带有变量 ID、名称、描述、价格、数量)。
在 itemsCatalog.jsp(部分)中:
<form name="f1" action="ControllerServlet" method="GET">
<select name="itemSelect">
<c:forEach items="${list}" var="entry">
<option value="${entry.ID}">${entry.name}</option>
</c:forEach>
</select>
<br><input type="hidden" name="DETAILS" value="new"/>
<br><input type="submit" name="Submit" value="Show Details"/>
</form>
在 ControllerServlet 中,我尝试通过以下方式访问所选选项:
String tempID = request.getParameter("itemSelect");
request.setAttribute("tempID",tempID);
request.getRequestDispatcher("itemDetails.jsp").forward(request,response);
但是,当我尝试使用 itemDetails.jsp 访问它时
<%= request.getParameter("tempID") %>
或者
${tempID}
然后我收到一个空值。如果我尝试直接访问 itemDetails.jsp 上的原始“itemSelect”参数,那么我会收到正确的字符串。
这是我的问题:为什么 servlet 没有接收到这个参数,我能做些什么来修复它?从文本框中接收参数有效。
(注意,我目前只是在继续处理之前尝试检索字符串值。)
如果有帮助,我在 Vista 上使用 Netbeans 7.3 和 Glassfish 3.2.1。谢谢你的帮助!