我的問題是:我想用我的JSP頁面的會話,無需使用servlet(如PHP爲例)JSP會話不使用servlet
的問題是:如何做到這一點?我讀了這個會話在jsp中的請求是含蓄的,但我實際上並不知道如何使用它。
我有一個主頁,他在url上傳遞了一些變量(如index.jsp?id = 1)。
謝謝你的幫助。
我的問題是:我想用我的JSP頁面的會話,無需使用servlet(如PHP爲例)JSP會話不使用servlet
的問題是:如何做到這一點?我讀了這個會話在jsp中的請求是含蓄的,但我實際上並不知道如何使用它。
我有一個主頁,他在url上傳遞了一些變量(如index.jsp?id = 1)。
謝謝你的幫助。
你可以使用JSTL<c:set>
和<c:remove>
來管理會話屬性。
的有效一session.setAttribute("foo", "bar")
下列情況:
<c:set var="foo" value="bar" scope="session" />
而下面沒有有效一session.removeAttribute("foo")
:
<c:remove var="foo" scope="session" />
當然,你可以使用訪問屬性通常的EL,以下打印session.getAttribute("foo")
。
${foo}
無關的具體問題,你應該在你的servlet對工作的厭惡。這不是一個好習慣。 JSTL不提供使業務邏輯輕而易舉的所有事情,這將迫使您退回到傳統scriptlets。我希望這只是無知。請仔細閱讀我們的servlet的wiki頁面,瞭解它如何可以很容易地創建和使用:https://stackoverflow.com/tags/servlets/info另外這個答案可能有點啓發:How to avoid Java code in JSP files?
你在JSP代碼使用此
<%
HttpSession sess = request.getSession();
if (sess==null)
{
RequestDispatcher dispatcher = request.getRequestDispatcher("/login.jsp");
dispatcher.forward(request, response);
}
%>
你可以得到會議及其屬性
和index.jsp的?ID = 1,你可以使用
request.getParameter("id")
假設你有兩個JSP
的index.jsp =獲取參數在index.jsp和所述值添加到會議(隱式對象)
<%
String empId = request.getParameter("id");
session.setAttribute("empId", empId);
response.sendRedirect("homePage.jsp");
%>
Now in homePage。JSP =寫代碼來檢索先前與主要EMPID
<%
String employeId = (String)session.getAttribute("empId");
%>
感謝您的回答,但我只想在單個JSP頁面上工作。 – abierto
我很欣賞你的評論,但主要問題是我正在處理一些不是由我創建的東西:這意味着我發現了這個「混亂」,並且我認爲我沒有足夠的時間用它來更新它正確的代碼。當我閱讀這些鏈接時,你確實是對的,所以非常感謝你。 – abierto