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