博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery.Autocomplete与struts2的整合
阅读量:4584 次
发布时间:2019-06-09

本文共 2791 字,大约阅读时间需要 9 分钟。

 

以下是我的实践,不过不知道为什么autocomplete功能不能从返回的json对象中选择包含输入字段的一项,例如source:person!ajaxSelectPerson ,这个时候person! ajaxSelectPerson返回的json,当输入wang时,当source: ["张三","李斯","王五","赵六","黑龙","白海","湘伦"]时

 

package com.maple.action;
 
 
import java.io.PrintWriter;
 
import java.util.ArrayList;
 
import java.util.Date;
 
import java.util.List;
 
 
import net.sf.json.JSONArray;
 
 
import org.apache.struts2.ServletActionContext;
 
import org.apache.struts2.convention.annotation.ResultPath;
 
 
import com.opensymphony.xwork2.ActionSupport;
 
 @ResultPath("/")
 
//
@Results({@Result(name="")})
 
public 
class PersonAction 
extends ActionSupport{
     
public String result;
     
public String getResult() {
         
return result;
     }
     
public 
void setResult(String result) {
         
this.result = result;
     }
     
public String autocom()
     {
         result="[\"zhangsan\",\"lisi\",\"wangwu\",\"zhangsan\",\"sun\",\"zhouw\",\"hello\",\"world\",\"nihsi\"]";
         
return "autocom";
     }
     
public String ajaxSelectPerson(){ 
         
try { 
         String search = ServletActionContext.getRequest().getParameter("term"); 
         System.out.println(search);
 
//
        if(search==null||search.length()==0) return null; 
         List<String> names = 
new ArrayList<String>(); 
                            names.add("zhangsan"); 
                            names.add("lisi"); 
                            names.add("wangwu"); 
                            names.add("zhangsan"); 
                            names.add("sun"); 
                            names.add("zhouw"); 
                            names.add("hello"); 
                            names.add("world"); 
                            names.add("nihsi"); 
         ServletActionContext.getResponse().setCharacterEncoding("UTF-8"); 
         JSONArray json = JSONArray.fromObject(names); 
         PrintWriter out = ServletActionContext.getResponse().getWriter(); 
         out.print(json.toString()); 
         System.out.println(
new Date()+"  "+json);
                 out.flush(); 
                 out.close(); 
                 
return 
null
         } 
catch (Exception e) { 
         e.printStackTrace(); 
         } 
         
return 
null
     } 
 
 }

  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

  <%
 
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%>"
>
       
<
link 
rel
="stylesheet"
 href
="development-bundle/themes/base/jquery.ui.all.css"
 
/>
          
<
style
>
     .ui-autocomplete 
{
         max-height
:
 100px;
         overflow-y
:
 auto;
         
/*
 prevent horizontal scrollbar 
*/
         overflow-x
:
 hidden;
     
}
     .ui-autocomplete 
{
         height
:
 100px;
     
}
     
</
style
>
     
<
script 
src
="js/jquery-1.8.2.min.js"
></
script
>
     
<
script 
src
="js/jquery-ui-1.8.24.custom.min.js"
></
script
>
     
<
script
> source:"hello-world!returnData"
     $(
function() {
         
var availableTags = [${theData} ];
         $( "#tags" ).autocomplete({
             source: ["张三","李斯","王五","赵六","黑龙","白海","湘伦"]
//
"person!ajaxSelectPerson",//
         });
/**/
     });
     
</
script
>
 
</
head
>
 
<
body
>
  
 
<
div 
class
="ui-widget"
>
     
<
label 
for
="tags"
>Tags: 
</
label
>
     
<
input 
id
="tags"
 
/>
 
</
div
>
   
</
body
>
 
</
html
>
 

 

转载于:https://www.cnblogs.com/passer1991/archive/2012/11/15/2770833.html

你可能感兴趣的文章
动画学习之Music图形绘制
查看>>
2019 2.15模拟赛
查看>>
基于H5 pushState实现无跳转页面刷新
查看>>
关于同余与模运算的总结
查看>>
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
查看>>
【转载】法线贴图Nomal mapping 原理
查看>>
prado 初步分析
查看>>
php 做守护进程1
查看>>
简单员工管理实例
查看>>
SAP 到出XLS
查看>>
HSV
查看>>
JAVA程序中SQL语句无法传递中文参数
查看>>
Android学习_数据库查询使用rawQuery遇到的问题
查看>>
|待研究|委托付款的支付状态触发器
查看>>
redis集群中的主从复制架构(3主3从)
查看>>
初始Linux(其实之前接触过(*^__^*) 嘻嘻……)
查看>>
一些多项式的整理
查看>>
NIO selector
查看>>
MySQL中DATETIME、DATE和TIMESTAMP类型的区别
查看>>
asp代码获取年数,季度数.星期数,天数,小时数,分钟数,秒数等时
查看>>