【问题标题】:JSP returning null for request.getParameter() but shows values in ELJSP 为 request.getParameter() 返回 null 但在 EL 中显示值
【发布时间】:2017-07-07 14:28:23
【问题描述】:

我是 servlet 和 JSP 的新手。 最近..我一直在尝试使用 requestDispatcher 将数据从我的 Servlet 发送到 JSP。

这是我负责的 Servlet 代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        sampleClass sampleObject = new sampleClass(1, "myname");
        ObjectMapper mapper = new ObjectMapper();
        String jsonstring = mapper.writeValueAsString(sampleObject);
        request.setAttribute("values", jsonstring);
        request.setAttribute("valuees", "testing");
        request.getRequestDispatcher("/somejsp").forward(request, response);
    }

我的 JSP 部分负责检索数据:

${values}
${valuees}
<% 
    //out.println(Message);
    Enumeration enume = request.getParameterNames();
    for (Entry<String, String[]> entry : request.getParameterMap().entrySet()) {
        String name = entry.getKey();
        String value = entry.getValue()[0];
        // ...
    }
    String value = request.getParameter("values");
    out.println(value);
    String valuee = request.getParameter("valuees");
    out.println(valuee);
 %>

但我得到的输出是:

{"n":1,"name":"myname"} 测试 null null

您可以看到 EL 都给出了正确的输出,使用 Enumeration 的实现不返回任何内容,而其他两个返回 null。

我不明白这一点。我在网上找不到任何解决方案。

【问题讨论】:

    标签: java jsp servlets request el


    【解决方案1】:

    您将 attributes(您选择以您选择的名称存储在请求中的任何对象)与 parameters(浏览器发送的字符串作为请求的一部分,如foo=bar&amp;baz=2。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      • 2021-12-10
      • 1970-01-01
      • 2017-09-17
      • 2021-01-27
      • 2018-11-13
      • 2015-10-10
      相关资源
      最近更新 更多