使用strus2 JSON
步骤
- web.xml中设定struts2的核心过滤器
<!-- strus2 核心过滤 -->
<filter>
<filter-name>struts2filehibernate</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- 映射 -->
<filter-mapping>
<filter-name>struts2filehibernate</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
- 建立struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 打开方法动态调用开关 constant:常量-->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!--重点:继承json-default -->
<package extends="json-default" name="packageName">
</package>
</struts>
- Action 配置,这里采用了注释
package com.zking.action;
//注释 指定 父包 引用了strues 里面的 package 标签
@ParentPackage(value="packageName")
//设定本action的空间
@Namespace(value="struts2AndHibernateAction")
public class Struts2AndHibernateAction extends ActionSupport {
private List<Uesr> uesrlist=new LinkedList<Uesr>();
public Struts2AndHibernateAction() {
}
//"excludeNullProperties","true" 去除空值,空的不通过json返回
//"root","entityType" 序列化,指定,属性,或者对象 多个 用“,”隔开即可,就是指定哪些属性,允许转换成json
//设定action的配置 value action的名字 results 返回结果集
@Action(value="/getUserAll",results={@Result(name="succeed",type="json",params={"root","uesrlist","excludeProperties","type","excludeNullProperties","true"})})
//取到所有,需要转换成json的 结果,使用本类的属性接受,本属性,必须有get/set方法,
uesrlist=session.createCriteria(Uesr.class).list();
然后,根据返回的值执行对应的返回结果
return "succeed";
}
public List<Uesr> getUesrlist() {
return uesrlist;
}
public void setUesrlist(List<Uesr> uesrlist) {
this.uesrlist = uesrlist;
}
}