2017-04-20 79 views
0

我想將從數據庫檢索到的多個數據值發送到另一個servlet或jsp。如何將多個值(屬性)從一個servlet發送到J2EE中的另一個servlet或JSP

這裏是我的代碼

PreparedStatement st= conn.prepareStatement("select name from users where uname=? and pword=?"); 

    st.setString(1, uname); 
    st.setString(2, pword); 

    ResultSet rs= st.executeQuery(); 

    if(rs.next()) 
    { 
     if(uname.equals(uname) && pword.equals(pword)) 
     { 
      request.setAttribute("name", rs.getString("name")); 
      request.setAttribute("uname", uname); 

      HttpSession ss= request.getSession(); 
      ss.setAttribute("name",rs.getString("name")); 
      ss.setAttribute("uname",rs.getString("uname")); 
      response.sendRedirect("Dash.jsp"); 
     } 
    } 

我想給這兩個名稱以及UNAME(用戶名),以所謂的「Dash.jsp」另一個JSP文件。但它不起作用。如果我評論如下代碼中的任何一個:

ss.setAttribute("name",rs.getString("name")); 
ss.setAttribute("uname",uname)); 

然後該servlet在將數據傳遞到Dash.jsp

我還試圖通過施加下面的代碼來使用的RequestDispatcher:

request.setAttribute("name", rs.getString("name"); 
request.setAttribute("uname",uname); 
String destination = "Dash.jsp"; 
RequestDispatcher rd = 
getServletContext().getRequestDispatcher(destination); 
rd.forward(request, response); 

即使我給了destination =「/ WEB-INF/pages/Dash.jsp」。那麼它也不會去Dash.jsp頁面。

任何人都可以請告訴我如何在這種情況下發送多個值或數據名稱,從一個servlet或jsp uname uname到另一個。

+0

你在部署這個服務器/版本? –

回答

0

當您將任何內容存儲爲請求屬性或會話屬性時,您可以使用表達式語言在jsp中訪問它們。

假設您存儲您的姓名和UNAME作爲會話屬性如下

ss.setAttribute("name",rs.getString("name")); 
ss.setAttribute("uname",rs.getString("uname")); 

的,您可以訪問他們的內部JSP作爲

<p>${name}</p> 
<p>${uname}</p> 

我提到例如對標籤,你可以在裏面使用它們jsp無論你想要使用$ {Attribute Name}

希望這會有所幫助, 如果喲你需要別的東西。

相關問題