Struts2 jquery autocomplete应用

11 篇文章 0 订阅

test.jsp

<%@ page language="java" import="java.util.*" contentType="text/html; charset=gbk" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>
 <head>
		<title>jqGrid练习</title>
		<meta http-equiv="content-type" content="text/html; charset=gbk"/>
		
		
	<script src="<%=path%>/jqgrid/js/jquery-1.5.2.min.js"></script>
    <script src="<%=path%>/jqgrid/js/jquery.autocomplete.js"></script>
	<link rel="stylesheet" href="<%=path%>/jqgrid/css/jquery.autocomplete.css">
		
	
   <script type='text/javascript'>
  $(document).ready(function() 
  {
    $("#queryCon").autocomplete("../../shujuweihu/shujuweihu_listTest.action",
     {
           minChars: 1,
           max:50,
           width: 150, 
           matchContains: true,   
           autoFill: false,
           
           //如果需要另外传值给action的话可以用这样的方式,如果只是把input里面的值传递给action的话,可以不写  
          extraParams: 
          {   
              queryCon: function() 
              { 
               return $("#queryCon").val(); 
              }   
           },
         //进行对返回数据的格式处理
           parse: function(joinresult) 
           {
               //content为我action里面定义的值
               data = joinresult.content;
               var rows = [];
               for(var i=0; i<data.length; i++)
               {
                rows[rows.length] = 
                {
                   //我没有特殊的要求,所以三个写的一样                   
                   data:data[i],
                   value:data[i].item_name,
                   //result里面显示的是要返回到列表里面的值  
                   result:data[i].item_name
                 };
               }           
               return rows;
           },
           formatItem:function(item)
           {
              //我没有特殊的要求,直接返回了
              return item.item_name;
           }

      });    
  });
  </script>
 </head>
 <body>
   <input type='text' style='width: 300px;' id='queryCon' name="queryCon" />
   <input type='submit' value="All Values" />
 </body>
</html>
 
  


Action:

private List<ShuJuWeiHu> content;

	 public List<ShuJuWeiHu> getContent() {
	  return content;
	 }

	 public void setContent(List<ShuJuWeiHu> content) {
	  this.content = content;
	 }

	 private String queryCon;

	 public void setQueryCon(String queryCon) {
	  this.queryCon = queryCon;
	 }

	 public String getQueryCon() {
	  return queryCon;
	 }
    //

public String listTest() throws Exception
	{
		 queryCon = PubFunction.latin1ToUTF8(queryCon);// queryCon = new String(queryCon.getBytes("ISO-8859-1"), "UTF-8");
		 List<ShuJuWeiHu> content=ShuJuWeiHuService.test111(queryCon);
		 setContent(content);
		
    	return "autocomplete";
	}


struts.xml

<package name="shujuweihu" extends="json-default" namespace="/shujuweihu"> 
<action name="shujuweihu_*" class="com.project.action.admin.ShuJuWeiHuAction" method="{1}">
 <result name="autocomplete" type="json"></result>
		</action>


sql:

 public static List<ShuJuWeiHu> test111(String key){
        DataManager dm = DataManagerImpl.getDataManager ();
        
        StringBuffer sql = new StringBuffer("select key_id,item_name from DingDanZhiXing where item_name like '%");
        sql.append (key);
        sql.append ("%'");
    	List<ShuJuWeiHu> list=dm.executeQuery(sql.toString (),null,ShuJuWeiHu.class);
        log.info (sql.toString ());
        return list;
}


大功告成了! 有的同学反映 找不到Action 的问题 我这里说下  是你导入JS的问题 请到官方下载jquery.autocomplete.js  !!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值