0

我正在尝试从 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。谢谢你的帮助!

4

1 回答 1

1

试试这个

<%= request.getAttribute("tempID") %>

因为您将变量设置为属性

  request.setAttribute("tempID",tempID);
于 2013-04-24T12:44:39.937 回答