在struts2的Action中慎起get打头的函数

struts2 Action里面的getter方法会在Action结束后被自动调用,例如有此情况:

<package extends="struts-default">

<action name="MyAction">

<action name="AnotherAction" method="getSomething">

...

在Action中

    public String execute(){

        System.out.println("execute");

        return SUCCESS;

    }

    public String getA() {

        System.out.println("getA");

        return SUCCESS;

    }

    public String geta() {

        System.out.println("geta");

        return SUCCESS;

    }

    public String getaa() {

        System.out.println("getaa");

        return SUCCESS;

    }

    public String getaA() {

        System.out.println("getaA");

        return SUCCESS;

    }

    public String getB() {

        System.out.println("getB");

        return SUCCESS;

    }

    public String gotA() {

        System.out.println("gotA");

        return SUCCESS;

    }

当调用MyAction的时候,输出结果为:

execute

geta

getaA

getaa

getB

也就是说,即使你没有调用AnotherAction,getSomething仍然会执行。

更多移步原文:http://lyfei022.blog.163.com/blog/static/8255831200972765349698/

 

mysum:

  曾经在Action里写过一个以get开头的处理业务的函数,此函数还需要从Action里读入一个数据,导致有时执行此Action时

会抛空指针异常。所以在Action里除了getter外其他函数不要以get开头(同样,也不要以set开头);除此外,除了必要的getter/setter外其余get*/set*函数最好删掉,不然会影响性能及可能出现一些莫名的错误

转载于:https://www.cnblogs.com/waxblogs/p/3436016.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值