2012-03-13 70 views
-1

我編寫了一個程序來從servlets中的數據庫檢索數據。現在我想把這個值傳遞給jsp作爲超鏈接。這個怎麼做?如何將數據庫檢索值傳遞給jsp

這是我的servlet代碼是我寫的:

import java.io.*; 
    import java.sql.*; 
    import javax.servlet.*; 
    import javax.servlet.http.*; 

    public class ViewServlet extends HttpServlet{ 
    public void doGet(HttpServletRequest req, HttpServletResponse res) 
    throws ServletException, IOException 
    { 
    res.setContentType("text/html"); 
    PrintWriter pw = res.getWriter(); 
    Connection con; 
    Statement stmt; 
    ResultSet rs; 
    String acid = null; 
    try{ 
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    con = DriverManager.getConnection("jdbc:odbc:DSN","scott","krishna"); 
    stmt = con.createStatement(); 
    rs = stmt.executeQuery("Select id from custm where name='jai'"); 
    req.setAttribute(acid,rs); 
    req.getRequestDispatcher("my_jsp_page.jsp").forward(req, res); 
    } 
    catch (Exception e){ 
    pw.println(e); 
    } 
    } 

}

現在我編輯的代碼,現在它的說法不能打電話setAttribute與空值。

回答

3

對於從ResultSet中提取值:

while (rs.next()) { 
String acid = rs.getString("id"); 
} 

可以存儲使用setAttribute()方法.... 在JSP中,你可以使用表達式語言檢索它在請求的範圍值...

在servlet的

request.setAttribute("acId",acid); 

在JSP中:

${acId} 

還有其他辦法... 您還可以使用scriplets在JSP顯示的目的.. 例如....

<% 
     String str = (String)request.getAttribute("acId"); 
%> 
Value is :: <%= str %> 

從使用的servlet調用JSP:

request.getRequestDispatcher("your.jsp").forward(request,response); 
+0

那麼如何在jsp中檢索該值? – 2012-03-13 12:40:47

+0

我剛纔提到... – 2012-03-13 12:42:57

+0

明白了......它會工作..我已經做到了這一點.... – 2012-03-13 12:45:43