我已经阅读了很多关于同一个问题的内容,我试着按照答案但是它永远不会奏效。
我有一个servlet名称:get_import.java 我有一个jsp名称:import.jsp
首先,在processRequest()中,我发起了一个String s =“abcdef”,然后我写道:
s=request.setAttribute("validate", s);
RequestDispatcher rd = getServletContext().getRequestDispatcher("import.jsp");
rd.forward(request,response);
然后,在import.jsp中,我写道:
<% String st = (String)request.getAttribute("validate");
out.println("<h1>Result: " +st+ "</h1>");
%>
然后输出为:结果:null
我无法解释为什么变量的值在jsp中为null,请帮我解决这个问题或找到其他出路。非常感谢!!
答案 0 :(得分:2)
您有多种选择:
1.在会话中存储它。
String username = request.getParameter("username");
if (username != null && username.length() > 0)
{
session.setAttribute("username", username);
}
2.将其存储为表格中的隐藏字段。
<input name="filter" type="hidden" value=""/>
3.将其存放在cookie中。
username = getCookie(userCookieName);
// Get from cookie.
function getCookie(name) {
if (document.cookie) {
index = document.cookie.indexOf(name);
if (index !== -1) {
f = (document.cookie.indexOf("=", index) + 1);
t = document.cookie.indexOf(";", index);
if (t === -1) {
t = document.cookie.length;
}
return(document.cookie.substring(f, t));
}
}
return ("");
}
4.不是另一种选择,只是一种机制 - 在URL中传递它:
.... onclick="window.location = 'details.jsp?filter=...'
答案 1 :(得分:0)