我编写了一个程序来从java中的mysql数据库中选择一个特定的列,我希望使用jsp在我的服务器端显示它。 在我的jsp页面中,我有一个select标签和一些选项,选中后会显示我数据库中该选项的值
例如:airport将显示我在数据库中插入的唯一机场的值 当我在服务器上调试我的代码时,我可以看到像[abc,xyz]这样的值,但是当我在服务器上运行它时,我只能看到我选择作为输出而不是值的选项(机场)。
所以我想我需要迭代列表,我做了一些关于如何在jsp第2页中迭代列表的研究,但我猜它不是我应该如何使用它的方式
以上代码:
java方面,java代码从数据库中选择列(工作正常)
public List readCategoryMsg(String gcm_msg_type) {
List msgList = new ArrayList<String>();
try {
Class.forName("com.mysql.jdbc.Driver");
connection = (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/gcm",
"root", "root");
state = (Statement) connection.createStatement();
prep = (PreparedStatement) connection
.prepareStatement("Select gcm_message from gcm_msg where
gcm_msg_type = ?");
prep.setString(1, gcm_msg_type);
rSet = prep.executeQuery();
while (rSet.next()) {
String msg_type = rSet.getString("gcm_message");
msgList.add(msg_type);
}
connection.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return msgList;
}
jsp第1页:(可以选择并将其提交到操作页面以显示输出)
<form action="category_type_results.jsp" method="get">
<div align="left">
<br><select name="category_type">
<option value="airport">Airport</option>
<option value="art gallery">Art Gallery</option>
<option value="atm">ATM</option>
<option value="bank">Bank</option>
<option value="book store">Book Store</option>
<option value="bus station">Bus Station</option>
<option value="cafe">Cafe</option>
</div>
<div>
<input type="submit" value="Show Category Message " />
</div>
</form>
jsp第2页:category_type_results.jsp
我已经注释了我尝试但不正确的事情,需要一些帮助来说明如何从我的数据库中显示所选选项的值列表
<%
ServiceSql serviceSql = new ServiceSql();
String gcm_msg_type = request.getParameter("category_type");
serviceSql.readCategoryMsg(gcm_msg_type);
//List<String> msgList = serviceSql.readCategoryMsg("gcm_msg_type");
//for (int i = 0; i < msgList.size(); i++) {
// msgList.get(i);
}
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<h3>
<%=gcm_type_msg%>
//<%=msgList%>
</h3>
</body>
我的数据库列看起来如何,我希望在我的服务器端显示相同的列表
gcm_message(column name)
hello gcm (values)
hello gcm ..
hello gcm ..
hello gcm ..
hello gcm ..
hello gcm (values)
任何吸烟都会有很大的帮助 感谢你
答案 0 :(得分:0)
使用JSTL遍历您的列表:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
</head>
<body>
<%
ServiceSql serviceSql = new ServiceSql();
String gcm_msg_type = request.getParameter("category_type");
List msgList= serviceSql.readCategoryMsg(gcm_msg_type);
request.setAttribute("msgList", msgList);
%>
<h3>
<c:forEach items="${msgList}" var="msg">
${msg}
</c:forEach>
</h3>