s2sh整合中模糊查询功能实现
上一篇文章我介绍了精确查询的操作实现,这篇文章我继续介绍模糊查询,其实精确查询与模糊查询大同小异,基本思路是一致的,只是操作语句有所改变。但在这里我并没有用到上篇中的form表单提交,而是使用的Jquery的ajax请求操作。下面我还是以实例案例来介绍。
misty to search.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'list.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript"
src="${pageContext.request.contextPath}/js/jquery-1.6.js">
</script>
<script type="text/javascript">
<!--Jquery的Ajax请求处理-->
function mistyByName(){
var name=$("#uname").val();
$.ajax({
type:"post",
url:"csdn/user_mistyByName",
data:"user.name="+name,
dataType:"json",
success:function(data){
$.each(data.users,function(i,entity){
$("#susers").append("<tr style='border:2px'></tr>")
.append("<td>"+entity.id+"</td>")
.append("<td>"+entity.name+"</td>")
.append("<td>"+entity.pass+"</td>")
.append("<td><input type='button' value='修改' id='up' onclick='uclick()'/></td>");
});
},
error:function(data){
}
});
}
</script>
</head>
<body>
<div>
<div>
<h1>
根据某个名称实现模糊查询
</h1>
<!-- 是含有|还是以什么开头 -->
<input type="text" name="user.name" id="uname" />
<input type="button" value="模糊查询" onclick="mistyByName()" />
</div>
<table>
<thead>
<tr>
<th>
序号
</th>
<th>
用户名
</th>
<th>
密码
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody id="susers">
</tbody>
</table>
</div>
</body>
</html>
解析:在此页面中主要是看Jquery的ajax处理过程。当执行onclick="mistyByName()"事件 时执行Jquery的ajax请求,同样需要获取页面中文本框输入的值,将该值以post方法提交到action中执行mistyByName()方法。返回类型为json类型,再到底层实现类中执行模糊查询的操作。
UserAction.java
public class UserAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private UserServiceImpl userServiceImpl;
public UserServiceImpl getUserServiceImpl() {
return userServiceImpl;
}
/* 依赖注入方式 */
public void setUserServiceImpl(UserServiceImpl userServiceImpl) {
this.userServiceImpl = userServiceImpl;
}
private List<User> users;
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
/* 模糊查询 */
public String mistyByName(){
users=userServiceImpl.mistyByName(user.getName());
return "mistyByName";
}
}
struts-user.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<package name="dxl" extends="json-default" namespace="/csdn">
<global-results>
<result name="input">/index.jsp</result>
</global-results>
<action name="user_*" class="userAction" method="{1}">
<result name="mistyByName" type="json">
<param name="includeProperties">
pagination\.nowpage,pagination\.countpage, users\[\d+\]\.id, users\[\d+\]\.name, users\[\d+\]\.pass,users\[\d+\]\.rdate
</param>
</result>
</action>
</package>
</struts>
解析:includeProperties 参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。
UserServiceImpl.java
public class UserServiceImpl implements UserService {
private UserDaoImpl userDaoImpl;
/*依赖注入*/
public void setUserDaoImpl(UserDaoImpl userDaoImpl) {
this.userDaoImpl = userDaoImpl;
}
public List<User> mistyByName(String name) {
return userDaoImpl.mistyByName(name);
}
}
UserDaoImpl.java
public class UserDaoImpl extends HibernateDaoSupport implements UserDao {
/*根据姓名的匹配进行模糊查询*/
public List<User> mistyByName(String name) {
List list = getHibernateTemplate().find("from User where name like ? ","%"+name+"%");
return list;
}
}
解析:注:该实现类返回的是一个list集合,注意该查询语句。
总结:既然查询结果返回的是一个集合,则在数据有很多时需要进行分页显示,在此文章中并没有介绍分页显示,下篇文章将继续介绍模糊查询分页显示的操作
分享到:
相关推荐
S2SH整合S2SH整合S2SH整合S2SH整合S2SH整合S2SH整合S2SH整合
基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能
包含了s2sh 整合所用的所有jar包,适合eclipse中导入实用。
s2sh整合的完整代码,希望大家喜欢。里面包含了一些基本的有用的东西
s2sh整合实现增删改查带整合包可直接运行
这个是s2sh开发所用的完整包,是从s2sh项目中的lib直接解压出来的,下载之后可以直接导入就可以用
s2sh整合annotation s2sh整合annotation s2sh整合annotation s2sh整合annotation s2sh整合annotation
S2SH整合实例S2SH整合实例S2SH整合实例
s2sh框架整合完整demo,可直接运行,含数据库建表sql 所采用的框架版本为:Struts 2.1.8, Sping2.5.5, Hibernate 3.5.6
s2sh整合 所需其他jar包 打包下载 spring-dao.jar mysql-connector-java-5.1.6-bin.jar commons-dbcp.jar cglib-nodep.jar
s2sh整合 源码 struts2 hibernate spring
该资源包含了一个S2SH整合的完整代码,注释详细,简单易懂。
本人也是一名自学者 该ssh框架整合包适合初学者,jar包比较全面,亲测成功,
最新S2SH整合所需jar包,最新的jar包,导入就可以编写代码了。
s2sh整合,s2sh,langsin,浪曦oa工作流源码。上传有限。里面没带jar文件 配置完整.
做了一个简单的S2SH整合项目,实现注册、登录功能,附加了所用的jar包,所有代码都带有注释,一看就明白,有问题可以联系
S2SH简单登陆增删改查,S2SH整合jar包!! 数据库sql代码
这是一个S2SH整合实现增删改查的完整例子
S2SH 整合全部jar包 S2SH 整合全部jar包 S2SH 整合全部jar包 S2SH 整合全部jar包 S2SH 整合全部jar包
s2sh框架整合