struts2+json返回一个list
2012-07-30 14:25
232 查看
注意点:1在配置文件中配置excludeProperties 或者includeProperties,不需要配置root
2在页面得到empList的时候
一,在action中
@Controller
public
class OperateEmp extends ActionSupport {
@Resource
private EmpService
empService;
private List<Emp> empList;
//返回这个empList
public String delEmp() {
//这是我service层的方法,得到一个emp集合
empsList = empService.getAllEmps();
return
SUCCESS; //
这里要是SUCCESS
}
public List<Emp> getEmpList () {
return
jsonArrary;
}
public
void setEmpList (List<Emp> empList) {
this.empList = empList;
}
}
二 配置文件:
<package
name="operateEmp"namespace="/operateEmp"
extends="json-default">
<action
name="empAction"class="operateEmp"
method="delEmp">
<result
type="json">
<!-- 这里不需要配置root ,
如果配置了root的话,那么excludeProperties或者includeProperties就没有用了
为什么要用includeProperties或者excludeProperties
参数:
主要是为了过滤掉接口,pojo的set、list、其他对象等不需要的数据防止循环取其他对象或找不到。如果不配置,默认是处理action中的所有属性,如果action中有接口注入,json拦截器可能找不到返回不了结果,还有如果action中有一个对象,这个对象与好多对象都有关联,json拦截器会将相关联的所有对象的属性全部转换成json格式,如果其他对象有list、set,其返回结果...有可能是死循环,无法返回
excludeProperties 参数:输出结果需要剔除的属性值,也支持正则表达式匹配属性名,可以用“,”分割填充多个正则表达式,类同includeProperties
-->
<param
name="excludeProperties">empList\[\d+\]\.dep</param>
</result>
<!-- 无需视图配置 -->
</action>
</package>
三,页面
<script
type="text/javascript">
function delEmp(empId){
$.post("${pageContext.request.contextPath}/operateEmp/operate_delEmp.do",{'empId':empId},function(data){
<!-- 要注意的是这里,返回的是一个 {“empList”:[{“empId”:1,”empName”:”hwt”},{…},{…}]}
这种形式,所以,这里要得到empList的值需要注意这里 -->
$.each(data.empList,function(){
alert(this.empId);
});
});
}
</script>
2在页面得到empList的时候
一,在action中
@Controller
public
class OperateEmp extends ActionSupport {
@Resource
private EmpService
empService;
private List<Emp> empList;
//返回这个empList
public String delEmp() {
//这是我service层的方法,得到一个emp集合
empsList = empService.getAllEmps();
return
SUCCESS; //
这里要是SUCCESS
}
public List<Emp> getEmpList () {
return
jsonArrary;
}
public
void setEmpList (List<Emp> empList) {
this.empList = empList;
}
}
二 配置文件:
<package
name="operateEmp"namespace="/operateEmp"
extends="json-default">
<action
name="empAction"class="operateEmp"
method="delEmp">
<result
type="json">
<!-- 这里不需要配置root ,
如果配置了root的话,那么excludeProperties或者includeProperties就没有用了
为什么要用includeProperties或者excludeProperties
参数:
主要是为了过滤掉接口,pojo的set、list、其他对象等不需要的数据防止循环取其他对象或找不到。如果不配置,默认是处理action中的所有属性,如果action中有接口注入,json拦截器可能找不到返回不了结果,还有如果action中有一个对象,这个对象与好多对象都有关联,json拦截器会将相关联的所有对象的属性全部转换成json格式,如果其他对象有list、set,其返回结果...有可能是死循环,无法返回
excludeProperties 参数:输出结果需要剔除的属性值,也支持正则表达式匹配属性名,可以用“,”分割填充多个正则表达式,类同includeProperties
-->
<param
name="excludeProperties">empList\[\d+\]\.dep</param>
</result>
<!-- 无需视图配置 -->
</action>
</package>
三,页面
<script
type="text/javascript">
function delEmp(empId){
$.post("${pageContext.request.contextPath}/operateEmp/operate_delEmp.do",{'empId':empId},function(data){
<!-- 要注意的是这里,返回的是一个 {“empList”:[{“empId”:1,”empName”:”hwt”},{…},{…}]}
这种形式,所以,这里要得到empList的值需要注意这里 -->
$.each(data.empList,function(){
alert(this.empId);
});
});
}
</script>
相关文章推荐
- (转)JQuery+JSON+Struts返回一个List到页面 (二)
- JQuery+JSON+Struts返回一个List到页面
- JQuery+JSON+Struts返回一个List到页面
- struts2+hibernate+spring+jquery返回json List列表
- 前台使用ajax 调用action方法,返回一个对象List集合的json
- 在Action中查询出SQL SERVER表的数据,返回一个list。怎么在JSP页面中使用Struts标签,显示出表中的内容?(转)
- 如何将DBUtil中使用BeanListHandler中转返回的List存入一个JSONArray中
- 将一个List转成json对象返回到前台页面
- struts2+json返回一个list
- 当我们在外部使用``–list``参数调用这个脚本时,这个脚本必须返回一个JSON散列/字典
- jquery 中$.post获取MVC Controller中JsonResult返回包含LIst<Model>类型的子List<Model>的高级使用方法
- 返回一个List里的全部排列
- Spring MVC + Mybatis 一个简单的例子 — 返回Json数据
- struts2怎么返回一个字符串给jsp?(使用json)
- struts-hibernate-ajax完成区县和街道级联下拉框功能(二补充使用json解析list结果集,ajax循环json层级处理)
- 【Maven+SSM】补充:写一个返回json的请求
- Java服务器端List对象转换为JSON对象并返回客户端实例
- 用一个切面来统一返回前端的JSON格式
- 将后台List对象以Json格式返回到前台Ajax请求
- struts2+hibernate+spring+jquery返回json List列表