如何使用jsp作为下拉框从mssql server db中的state表中获取状态。
发布于 2009-11-28 00:35:28
首先,创建一个javabean,用代码和名称表示一个州(基本上与DB表中的数据相同)。然后创建一个执行数据库交互任务的DAO类。然后创建一个Servlet类,该类从DAO检索列表,将其放入请求作用域,并将请求转发给JSP。最后,创建一个JSP文件,该文件使用JSTL的c:forEach显示列表。
状态bean的基本示例:
public class State {
private String code;
private String name;
// Add (generate) public getters and setters.
}DAO类的基本示例:
public List<State> list() {
List<State> states = new ArrayList<State>();
// Do your JDBC thing here.
return states;
}Servlet类的基本示例:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
List<State> states = stateDAO.list();
request.setAttribute("states", states);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}JSP文件的基本示例:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<select name="state">
<c:forEach items="${states}" var="state">
<option value="${state.code}">${state.name}</option>
</c:forEach>
</select>将url-pattern上的servlet映射到您在web.xml中的喜好,并通过浏览器调用此servlet。
要获得有关DAO模式的更多见解和想法,您可能会发现this article也很有用。
发布于 2009-11-28 00:22:34
将这些印记添加到页面
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql_rt" %>然后添加一个类似下面这样的sql查询
<sql:query var="stateList" dataSource="your dataSource">
select state
from statetable
</sql:query>然后使用标签创建列表
<select name="stateNames" id="stateNames" style="width:160px;height:125px">
<option value="ALL" selected="selected">ALL States</option>
<c:forEach items="${stateList.rows}" var="row">
<option value="${row.state}">${row.state}</option>
</c:forEach>
</select>https://stackoverflow.com/questions/1808900
复制相似问题