Vorbei an string-variable von servlet zu jsp
Öffne ich im browser link zugeordnet zu meinem servlet, und erwarten, dass die Anzeige der übergebene Wert ist.
Aber was ich sehe, ist "null"
Servlet:
public class TestServlet extends HttpServlet {
public TestServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("var", "a");
request.getRequestDispatcher("index.jsp").forward(request, response);
}
}
jsp:
<%
String s1 = (String) session.getAttribute("var");
%>
<%= s1 %>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass Sie das Attribut in den request-scope-aber es Lesen aus dem session-scope. Ersetzen Sie diese Zeile:
durch diese:
Diese Weise werden Sie finden Sitzungsbereich in beiden Orten. Alternativ können Sie die Anfrage Umfang in beiden Orten, die durch die Nutzung
request.getAttribute()
in Ihre JSP.Statt den Zugriff auf das Attribut über eine session-scope in die jsp-Seite Sie können einfach ändern Sie Ihre
zu
oder wenn Sie wollen immer noch Zugriff auf Sie über ein session-scope könnte man die variable in eine session-scope in Ihrem servlet-Beispiel:
dann könnten Sie einfach den Zugang auf die gleiche Weise, die Sie tun, in die JSP-Seite oder Sie könnten einfach tun, was David sagte :
so oder so funktionieren würde.
SERVLET-Teil:
JSP-Teil (einbezogen werden, in jedem tag Absatz-oder textbox etc)
${str}