struts2+json返回一个list

注意点: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 参数:

主要是为了过滤掉接口,pojosetlist、其他对象等不需要的数据防止循环取其他对象或找不到。如果不配置,默认是处理action中的所有属性,如果action中有接口注入,json拦截器可能找不到返回不了结果,还有如果action中有一个对象,这个对象与好多对象都有关联,json拦截器会将相关联的所有对象的属性全部转换成json格式,如果其他对象有listset,其返回结果...有可能是死循环,无法返回

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>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值