1.Ajax 技术在现有开发中使用非常多,大多是做管理类型系统。在servlet中可以使用ajax。在struts2中共还可以使用servlet的方式来实现ajax。
2.案例:用户名检查
public String checkName() throwsIOException{
HttpServletResponse resp=ServletActionContext.getResponse();if("siggy".equals(name)){
resp.getWriter().print("true");
}else{
resp.getWriter().print("false");
}//return Action.NONE;
return null;
}
3.使用struts2提供的插件来完成 ajax步骤
a) 导入相关 jar 包
asm-3.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
commons-beanutils-1.8.0.jar
commons-collections-3.1.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.4.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
freemarker-2.3.19.jar
jackson-core-asl-1.9.2.jar
jackson-mapper-asl-1.9.2.jar
javassist-3.11.0.GA.jar
json-lib-2.3-jdk15.jar
jstl-1.2.jar
log4j-1.2.17.jar
ognl-3.0.5.jar
struts2-core-2.3.4.jar
struts2-json-plugin-2.3.4.jar
xwork-core-2.3.4.jar
b) 编写Action
public classUserAction {privateString name;privateString result;public String checkName() throwsIOException{
HttpServletResponse resp=ServletActionContext.getResponse();if("siggy".equals(name)){
resp.getWriter().print("true");
}else{
resp.getWriter().print("false");
}//return Action.NONE;
return null;
}publicString list(){
System.out.println("list----------");
List list = new ArrayList();
list.add(new User("张三","男",33));
list.add(new User("李四","男",23));
list.add(new User("王五","男",13));try{
result=JSONArray.fromObject(list).toString();
}catch(Exception e) {
e.printStackTrace();
}
System.out.println(result);returnAction.SUCCESS;
}publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}publicString getResult() {returnresult;
}public voidsetResult(String result) {this.result =result;
}
}
c) 编写配置文件
result
4.另一种获取 json 的方式:
public classListAction {private Listlist;publicString list(){
list= new ArrayList();
list.add(new User("张三","男",33));
list.add(new User("李四","男",23));
list.add(new User("王五","男",13));returnAction.SUCCESS;
}public ListgetList() {returnlist;
}public void setList(Listlist) {this.list =list;
}
}
Struts.xml
list
Jsp
$("#btn").click(function(){
$.post("listJson.action",function(data){
var html="";for(var i=0;i
html+="
"+data[i].name+"
"+data[i].sex+"
"+data[i].age+"";}
$("#content").html(html);
});
});
});
获取数据
姓名 | 性别 | 年龄 |