簡體   English   中英

如何將消息從servlet傳遞給jsp?

[英]How to pass message from servlet to jsp?

我想將一個status參數從servlet傳遞給jsp。 我正在發送它

response.sendRedirect("newpage.jsp?status=yes");

如果status = yes則在<div>顯示成功消息,然后將status設置為null 但是當newpage.jsp第一次加載時, status的值為null並且它給出了空指針異常

會話也會發生同樣的事情。

<% 
   String status = request.getParameter("status");
   System.out.println("Check Successful of Status"+status);
   if (status.equalsIgnoreCase("yes")) {
   System.out.println("Check Successful of Status");
%>

<div style="color: green;" align="center">Selected tenant approved successfully</div>

<script type="text/javascript"> window.location.href = window.location.href.split("?")[0]; </script>

<%
   request.setAttribute("status1", null); 
%>  
request.setAttribute("status1", yourstatus); 
getServletContext().getRequestDispatcher("yourpageyouwanttosend.jsp").forward(request, response);

您的視圖<%= request.getAttribute("status1") %>

在Servlet中你可以使用

request.setAttribute("status","yes")

在jsp中,您可以使用

request.getAttribute("status");

是的,我錯過了這一點

以上你需要使用

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

如果你想使用response.sendRedirect("somefile.jsp")

你可以在會話中將變量設置為

HttpSession session = request.getSession(false);

session.setAttribute("status","yes")

然后把它取回來

session.getAttribute("status")

一旦使用,你可以刪除它

session.removeAttribute("status")

您正在使用status作為參數名稱,並且您正在比較JSP中的status1

    if (status1.equalsIgnoreCase("yes")) {

注意:

將javacode放在jsp上並不是件好事,切換到JSTL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM