Jquery-autocomplete简单应用

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
   <link href="autocomplete/jquery.autocomplete.css" rel="stylesheet" type="text/css">
	<script type="text/javascript" src="jquery/jquery-1.7.2.min.js"></script>
	<script type="text/javascript" src="autocomplete/jquery.autocomplete.js"></script>
	<script type="text/javascript">
		$(document).ready(function() {
			$("#empCode").autocomplete("autoCompleteAction.action", {
				cellSeparator: "|",
				lineSeparator: "\n",
				minChars: 1,//最小输入数
				maxItemsToShow: 10,//最大显示条数
				formatItem: function(row) {
					//var obj=eval("("+row+")");//将JSON转换成对象
					return "员工代码->" +row[0] + " 姓名->" +row[1]+ " 年龄:" + row[2];//显示格式,自定义
				},
				onItemSelect: function(li) {
					$("#empName").val(li.extra[0]);
					$("#age").val(li.extra[1]);
					$("#orgName").val(li.extra[2]);
				}
			});
		});
	</script>
  </head>
  	
  <body>
    员工代码:<input type="text" name="empCode" id="empCode" size="70"><br>
    姓名:<input type="text" name="empName" id="empName" readonly="readonly"><br>
    年龄:<input type="text" name="age" id="age" readonly="readonly"><br>
    部门:<input type="text" name="orgName" id="orgName" readonly="readonly"><br>
  </body>
</html>
 
public class AutoCompleteAction extends ActionSupport {

    private String q;//用于接收前台数据 ,必须是q不能时其他名称
    private User user;
    private List<User> userList;
    private AutoCompleteService autoCompleteService;

    /**
     * @return the userList
     */
    public List<User> getUserList() {
        return userList;
    }

    /**
     * @param userList the userList to set
     */
    public void setUserList(List<User> userList) {
        this.userList = userList;
    }

    /**
     * @return the user
     */
    public User getUser() {
        return user;
    }

    /**
     * @param user the user to set
     */
    public void setUser(User user) {
        this.user = user;
    }

    /**
     * @param autoCompleteService the autoCompleteService to set
     */
    public void setAutoCompleteService(AutoCompleteService autoCompleteService) {
        this.autoCompleteService = autoCompleteService;
    }

    /**
     * @return the q
     */
    public String getQ() {
        return q;
    }

    /**
     * @param q the q to set
     */
    public void setQ(String q) {
        this.q = q;
    }

    @SuppressWarnings("unchecked")
    public String complete() throws IOException {

        userList = autoCompleteService.selectAll(q);
        System.out.println(userList.size());
        HttpServletResponse response=ServletActionContext.getResponse();
        response.setContentType("text/html;charset=utf-8");
        for (User user : userList) {
            response.getWriter().println(user.getId() + "|" + user.getUserName()+ "|" +user.getAge() + "|" + user.getAddr());
        }
        return null;
    }

}
 
public class AutoCompleteDaoImpl extends HibernateDaoSupport implements AutoCompleteDao {

    /**
     * @param q
     * @return
     * @see com.acca.dao.AutoCompleteDao#selectAll(java.lang.String)
     */
    @SuppressWarnings("unchecked")
    @Override
    public List<User> selectAll(final String q) {
        return (List<User>) getHibernateTemplate().execute(new HibernateCallback() {
            
            @Override
            public Object doInHibernate(Session session) throws HibernateException, SQLException {
                return session.createQuery("from User u where u.addr like ?")
                              .setParameter(0, ('%'+q+'%'))//注意模糊查询时注意% ,参数从0开始
                              .list();
            }
        });
    }

}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值