关于用java servlet做一个数据查询
一个jsp网页中有几个文本输入框,能输入相关的查询条件。
然后在后面有一个提交按钮,也在本页面的下面,有显示查询结果的地方。
总之就是在一个页面里面实现取参,查询数据库后,在本页面显示查询结果,如何实现?
还有分页问题,用的是mysql数据库,谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
把查询参数放进Map里,查完了,返回前台:
Map conditions = new HashMap();
conditions.put("searchWord",searchWord);
request.setAttribute("conditions",conditions);
前台JSP:
Map conditions = request.getAttribute("conditions");
根据Map的Key把各个值取出来放到<input type="text">中不就行了么
具体可以这么实现(servlet 的代替方案):
实现思路,访问jsp的时候就把数据从mysql 中获得,在页面显示,当然,具体操作功能调用AJAX 就可以了。
1. 写一个xml
<?xml version="1.0" encoding="UTF-8"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="/xsd/default/simple.xsd">
<scriptEval>first</scriptEval>
<handleClass>com.CalendarAction</handleClass>
<handleMethod>initCalendarLoad</handleMethod>
<components>
</components>
</page>
2. 写一个对于的jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String calendar = (String)request.getAttribute("you_data");
%>
<html>
3. 写个类 CalendarAction
public class CalendarAction extends DefaultPageHandle {
public void initCalendarLoad(PageParameter pageParameter,
Map<String, Object> dataBinding,
List<String> visibleToggleSelector, List<String> readonlySelector,
List<String> disabledSelector) throws Exception {
}
public Object getBeanProperty(final PageParameter pageParameter,
final String beanProperty) throws Exception {
final PageBean pageBean = pageParameter.pageDocument.getPageBean();
final DataSource dataSource = IWebApplication.Instance.getWebApplication().getDataSource();
final IQueryEntityManager qem = DataObjectManagerFactory.getQueryEntityManager(dataSource);
final List<CalendarBean> calendar = new ArrayList<CalendarBean>();
final String buffaloidCard = (String)pageParameter.getSession().getAttribute("buffaloidCard");
//SELECT * FROM calendar where userid ='111'
IQueryEntitySet<CalendarBean> qs = qem.query(new SQLValue("SELECT * FROM calendar where userid ='"+buffaloidCard+"'"), CalendarBean.class);
CalendarBean bean;
while((bean = (CalendarBean) qs.next()) != null) {
calendar.add(bean);
}
String jsonEvenets = Json.toJsonToCalendar(calendar);
pageParameter.request.setAttribute("calendar_data", jsonEvenets);
return BeanUtils.getProperty(pageBean, beanProperty);
}
}
你的需求就可以完成了。更多请参考
这个需求很普通 又不是高难问题
不刷新能显示是ajax的技术。用jquery能轻松实现。
我没用过哦