2013-07-14 37 views
0
<% 
Class.forName("oracle.jdbc.driver.OracleDriver"); 
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@VAIO:1521:XE","system","manager"); 
PreparedStatement stmt=con.prepareStatement("Select * from tasks"); 
ResultSet rset=stmt.executeQuery(); 
while(rset.next()) 
{ 
%> 
<html> 
<body> 
<table> 
<tr> 
<td> 
<a href=""><%out.print(rset.getString(2));%></a> 
</td> 
<td> 
<%out.print(rset.getString(3));%> 
</td> 
</tr> 
</table> 
</body> 
</html> 
<% 
} 
%> 

需要使用表中的所有條目作爲超鏈接,以便在數據庫中使用其他詳細信息打開新頁面。任何想法如何做到這一點?使用數據庫條目作爲鏈接來顯示一個頁面上的數據庫的詳細信息

+0

是的,其中很多。希望我們爲您編寫代碼?你必須表明,你已經嘗試了什麼,你得到了什麼產出,爲什麼它不適合你。 –

+0

我是編程新手。我有一個巨大的數據庫和第二列的數據庫顯示。如果它被點擊,我想在新頁面上顯示該表的特定行。我如何做dat? – Saurabh

+1

@Saurabh在另一個註釋中,不要使用'system'模式作爲用戶定義的對象。像'system','sys'等模式通常用於與數據庫相關的對象,並且它不能用於用戶定義的對象。 – user75ponic

回答

1

創建鏈接到一些細節的servlet,與表示該行的ID的參數,以顯示:

<a href="detailServlet?id=<%= rs.getLong(1) %>"><%out.print(rset.getString(2));%></a> 

在servlet,使用的request.getParameter(「ID」),以獲得由所發送的ID鏈接。

這就是說,你不應該

  • 從JSP執行數據庫訪問代碼。 JSP只應該生成HTML,使用存儲在請求中的Java Bean通過控制器servlet
  • 使用scriptlets。學習使用JSP EL,JSTL和自定義標籤。

使用scriptlets和從JSP訪問數據庫被認爲是十多年來的不良做法。我真的不明白新教徒們是如何教導他們這樣做的。好的代碼看起來像:

<c:forEach var="row" items="${rows}"> 
    <tr> 
     <td> 
      <a href="<c:url value="/detailServlet"> 
         <c:param name="id" value="${row.id}"/ 
        </c:url>"<c:out value="${row.name}"/></a> 
     </td> 
     <td> 
      <c:out value="${row.description}"/> 
     </td> 
    </tr> 
</c:forEach> 
+0

我不知道jstl和東西。剛開始使用jsp的 – Saurabh

相關問題