从页面到页面JSP检索映射属性

时间:2014-05-30 07:52:10

标签: java jsp map

我正在尝试获取正在放入地图的检索属性。但是当我尝试通过将其置于警报中来调试它时,我一直变为null。任何帮助将不胜感激,谢谢!

首先是jsp

<%
   //Map newSurvey = new LinkedHashMap();
   Map newSurvey = new HashMap();
   newSurvey.put("description", request.getParameter("description"));
   newSurvey.put("startDate", request.getParameter("start_datetime"));
   newSurvey.put("endDate", request.getParameter("end_datetime"));
   newSurvey.put("maxParticipant", request.getParameter("max_participant"));
   newSurvey.put("minAge", request.getParameter("min_age"));
   newSurvey.put("maxAge", request.getParameter("max_age"));
   newSurvey.put("preSurveyText",  request.getParameter("pre_survey_text"));
   request.setAttribute("myMap", newSurvey);
%>
window.location = 'Survey_Questions.jsp';

第二个jsp(要检索)我使用了一个javascript来查看我是否能够检索它

function testGet(){
        <%
        Map myMap = (Map)request.getParameter("myMap");
        String description = (String) myMap.get("description");
        %>
        alert(<%=description%>
    }

2 个答案:

答案 0 :(得分:2)

在您使用的第一页上:request.setAttribute("myMap", newSurvey);

所以你必须在第二页上使用request.getAttribute("myMap");

答案 1 :(得分:1)

window.location = 'Survey_Questions.jsp';

只会重定向到某个页面,它不会将您的request对象传递给其他文档。

相反,您可以使用以下代码行:

RequestDispatcher rd = request.getRequestDispatcher("Survey_Questions.jsp");
rd.forward(request, response);

RequestDispatcher可帮助您将request转发到其他网页。

另外,使用getAttribute代替getParameter,因为您已使用setAttribute在First.jsp上设置myMap