java学习心得——添加列表查询功能

本文介绍了一个使用JSP和Servlet技术实现的简单列表查询功能。通过前端表单输入指令名称和描述进行过滤查询,并展示查询结果。利用Java Servlet处理HTTP请求,连接MySQL数据库执行SQL查询,并将结果返回给前端页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果图:


list.jsp:

<form action="<%=basePath %>List.action" id="mainForm" method="post">


<td>
    <input name="command" type="text" class="allInput" value="${command}"/>
</td>
<td width="90" align="right">描述</td>
<td>
    <input name="description" type="text" class="allInput" value="${description}"/>
</td>


<tbody>
	<tr>
		<th><input type="checkbox" id="all" onclick="checkAll(this)"/></th>
		<th>序号</th>
		<th>指令名称</th>
		<th>描述</th>
		<th>操作</th>
	</tr>
	<c:forEach items="${messageList}" var="message" varStatus="status">
		<tr <c:if test="${status.index%2 != 0}">style='background-color:#ECF6EE;'</c:if>>
			<td><input type="checkbox" /></td>
			<td>${status.index + 1}</td>
			<td>${message.command}</td>
			<td>${message.description}</td>
			<td>
			<a href="#">修改</a>   
			<a href="#">删除</a>
			</td>
		</tr>
	</c:forEach>
</tbody>


ListServlet.java:

req.setCharacterEncoding("UTF-8");
String command = req.getParameter("command");
String description = req.getParameter("description");
req.setAttribute("command", command);
req.setAttribute("description", description);
Class.forName("com.mysql.jdbc.Driver");
Connection conn =  DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/message","root","123456");
StringBuilder sql = new StringBuilder("select ID,COMMAND,DESCRIPTION,CONTENT from MESSAGE where 1=1");
List<String>paramList = new ArrayList<String>();
if(command != null && !"".equals(command.trim())){
	sql.append(" and COMMAND=?");
	paramList.add(command);
}
if(description != null && !"".equals(description.trim())){
	sql.append(" and DESCRIPTION like '%' ? '%'");
	paramList.add(description);
}
PreparedStatement statement = conn.prepareStatement(sql.toString());
for (int i=0; i<paramList.size(); i++) {
	statement.setString(i+1, paramList.get(i));
}
ResultSet rs = statement.executeQuery();
List<Message>messageList = new ArrayList<Message>();
while(rs.next()){
	Message message = new Message();
	messageList.add(message);
	message.setId(rs.getString("ID"));
	message.setCommand(rs.getString("COMMAND"));
	message.setDescription(rs.getString("DESCRIPTION"));
	message.setContent(rs.getString("CONTENT"));
}
req.setAttribute("messageList", messageList);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值