2016-03-31 106 views
-1

我正在用JSP創建一個工具。 我有多個JSP頁面從用戶接收輸入。 現在我想在許多其他jsp頁面上使用該輸入。我想從JSP頁面獲取值到多個jsp頁面。可能嗎?

假設我有登錄頁面作爲我的第一頁當用戶輸入用戶名我能夠得到它在我的下一個jsp頁面,我用Form方法作爲後置動作。 但我無法在其他Jsp頁面上顯示相同的用戶名。

我使用JSP:的getProperty用於獲取值:

<jsp:getProperty property="username" name="user2"/><br> 
<jsp:getProperty property="password" name="user2"/><br> 

請建議有什麼辦法讓用JSP在多個頁面上的值:useBean的

+2

將這些值存儲在會話中。 – Thomas

回答

0
<% HttpSession httpSession = request.getSession(); 
      httpSession.setAttribute("user2", user2); 
    %> 

    then from any jsp page u can access that attribute for same session like this 

    <%HttpSession httpSession=request.getSession(); 
     httpSession.getAttribute("user2"); 
    %> 
+0

我試圖使用它作爲 但它不起作用。與範圍=「頁面」它至少爲下一頁工作。 – shilpa

+0

嘗試我已更新的代碼現在檢查出來 – Sumeet

+0

<%HttpSession httpSession = request.getSession(); httpSession.setAttribute(「user2」,user2); %> 這需要在servlet中加入嗎? – shilpa

-1

是的,你可以訪問它以這樣的方式

的login.jsp:

<form action ="process.jsp"> 
    Username: 
    <input type="text" name="username"> 
    Password: 
    <input type="password" name="password"> 
<input type="submit" value="Submit"> 
    </form> 

process.jsp:

<% String username = request.getParameter("username"); 
     String password = request.getParameter("password"); 
    %> 
+0

是的,但只有在process.jsp中,如果我想在多個jsp頁面上使用相同的用戶名密碼,該怎麼辦? – shilpa

+0

那麼你必須使用會議,幫助你。 –

0

是的,我們可以通過會話傳遞價值做到這一點。如下所示request.getSession().setAttribute("key", <value>);

+0

好的。我會嘗試使用這個選項。 – shilpa

0

您可以將bean存儲在會話中,以便可以從JSP直接訪問它。 (見this answer on SO)。

你的bean聲明應該是這樣的:

<jsp:useBean id="user2" class="mycompany.User" scope="session" /> 

如果你想真正持久的數據,你應該存儲在數據庫中。

請注意,您應該考慮MVC框架,例如Spring MVCApache Struts,但您將不得不同化大量的概念。

相關問題