servlet中的getParameter()返回null

时间:2013-04-24 12:36:11

标签: jsp servlets getparameter

我正在尝试从servlet中的.jsp中检索选定的值。选项中显示的值来自“Item”对象的ArrayList(包含变量ID,名称,描述,价格,quant)。

itemCatalog.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没有收到这个参数,我该怎么做才能修复它?从文本框接收参数有效。

(注意,我目前只是在继续处理之前尝试检索String值。)

如果有帮助,我在Vista上使用Netbeans 7.3和Glassfish 3.2.1。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

试试这个

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

因为您将变量设置为属性

  request.setAttribute("tempID",tempID);