2011-04-21 43 views
1

任何人都可以給我一個好主意或提示(不是工具)我如何實現基於JDBC元數據的自動生成HTML表單? 我已經在Java獨立程序中解決了這個問題 - 現在我想在html中擴展這個想法。 我不想用Spring,Wicket或JSF來解決這個問題,我想從頭開始學習。 我搜索了很多,我發現了很多東西,但沒有什麼可以回答我的問題。但我相信這個問題在過去十幾次已經解決了。基於JDBC元數據的JSP html表格生成

謝謝 亞歷

回答

0

創建一個servlet類,讓它調用你的「Java獨立程序」,在doGet()方法,拿在一些List<Row>從它的希望的數據,把它的請求範圍和將請求轉發給JSP

List<Row> rows = yourProgram.list(); 
request.setAttribute("rows", rows); 
request.getRequestDispatcher("/WEB-INF/list.jsp").forward(request, response); 

最後在/WEB-INF/list.jsp使用JSTLc:forEach顯示它。

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 
... 
<table> 
    <tr> 
     <c:forEach items="${rows[0].columns}" var="column"> 
      <th><c:out value="${column.name}" /></th> 
     </c:forEach> 
    </tr> 
    <c:forEach items="${rows}" var="row"> 
     <tr> 
      <c:forEach items="${row.columns}" var="column"> 
       <td><input type="text" name="${fn:escapeXml(column.name)}" value="${fn:escapeXml(column.value)}" /></td> 
      </c:ForEach> 
     </tr> 
    </c:forEach> 
</table> 

讓它通過<form method="post">提交給servlet和收集數據的方法doPost()

+0

謝謝你的這一小段代碼;我還發現你的其他例子非常好。 – Alex004 2011-04-21 11:53:58

+0

不客氣。 – BalusC 2011-04-27 15:39:41