繁体   English   中英

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

[英]Retrieve map attribute from page to page JSP

我试图获取正在放入地图的检索属性。 但是,当我尝试通过将其置于警报中来调试它时,我一直得到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%>
    }

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

因此,您必须使用request.getAttribute("myMap"); 在第二页上。

window.location = 'Survey_Questions.jsp';

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

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

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

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

另外,使用getAttribute代替getParameter因为您已经使用setAttributemyMap上设置myMap。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM