基于 JDBC 元数据的 JSP html 表单生成
Posted
技术标签:
【中文标题】基于 JDBC 元数据的 JSP html 表单生成【英文标题】:JSP html form generation based on JDBC meta data 【发布时间】:2011-04-21 07:50:58 【问题描述】:谁能给我一个好主意或提示(不是工具)我如何实现基于 JDBC 元数据的自动生成 html 表单? 我之前在 Java 独立程序中解决了这个问题 - 现在我想在 html 中扩展这个想法。 我不想使用 Spring、Wicket 或 JSF 来解决问题,我想自己动手从头开始学习。 我已经搜索了很多,我找到了很多东西,但没有任何东西可以回答我的问题。但我相信这个问题已经解决了十几次了。
谢谢 亚历克斯
【问题讨论】:
【参考方案1】:创建一个servlet类,让它在doGet()
方法中调用你的“Java独立程序”,从中获取一些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
中使用JSTL c: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()
方法中收集数据。
【讨论】:
感谢您提供的这一小段代码;我还发现了您的其他示例之一,非常好。以上是关于基于 JDBC 元数据的 JSP html 表单生成的主要内容,如果未能解决你的问题,请参考以下文章
使用 jsp 插入 oracle 数据库时出现异常“jdbc.odbc.JdbcOdbcDriver”
基于java+mysql+JDBC+tomcat+Servlet+JSP+js的学生管理系统
JSP实现登录注册连接MySql数据库-初学(JSP+JDBC实现)
JSP+Servlet+JDBC+mysql实现的学生成绩管理系统
HTML,CSS,JavaScript,AJAX,JSP,Servlet,JDBC,Structs,Spring,Hibernate,Xml等概念