[英]Passing customized messages from Servlet to a JSP page?
我是JSP和Servlet的新手。
我想知道的是將一些自定義消息傳遞到客戶端網頁的最佳方法。
例如,假設我有一個說為student.jsp的網頁,該網頁具有一個表單,用於向我們的在線應用程序注冊一個新學生。在成功插入表單的所有字段之后,用戶提交表單並將數據提交給我們的servlet,以進行進一步的處理現在,Servlet將對其進行驗證並將其添加到我們的數據庫中。因此,現在Servlet應該發送一條消息,指示最終用戶輸入的數據成功插入到最終用戶(在本例中為Student.jsp)。
因此,我可以將這類消息傳遞給任何客戶端網頁。
我不想將此消息作為URL查詢字符串傳遞。
還有其他更好和安全的方式來傳遞此類消息嗎?
使用request.setAttribute("message", yourMessage)
,然后將( request.getRequestDispatcher("targetPage.jsp").forward()
) request.getRequestDispatcher("targetPage.jsp").forward()
到結果頁面。
然后,您可以通過JSTL( <c:out value="${message}" />
)或request.getAttribute(..)
讀取目標頁面中的<c:out value="${message}" />
(這不是可取的-應該避免在jsp中使用scriptlet )
如果您確實需要response.sendRedirect(..)
,則可以將消息放入會話中,並在檢索到消息后將其刪除。 為此,您可能需要一個自定義標簽,以使您的jsp代碼看起來不太“丑陋”。
我認為在JSTL中看起來像這樣:
<c:remove var="message" scope="session" />
我還認為,如果“ message”是Java字符串,則可以像這樣使用后將其設置為空字符串:
<c:set var="message" scope="session" value="" />
實際上,如果“消息”是Java字符串數組,它似乎也可以工作:String [] ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.