Struts2一个诡异问题的解决

项目中使用Struts2.。像很多问题一样,刚开始出现的时候,觉得很诡异,难以入手;解决掉之后,就知道其实很简单了。

前几天遇到一个问题,在某Action类中定义了一个名为success的字符串变量,正常情况下某actino1完成时,success的值应该是”true”;结果发现有些情况下,action1成功执行之后,success的值居然变成了”false”。我启用调试模式跟踪了一下,发现action1最后返回前,success已经赋值为”true”了,出现灵异现象了?

联想到前几天发的关于导出Excel的那篇文章中,在Action类中定义了一个getDownloadFileName方法来定制文件的名字,突然发现,这个Action类中,有一个名为getXXXX的方法(这个方法被定义为另一个action的执行方法),方法中有一个条件下,会给success变量赋值”false”。而struts2默认会执行Action(result type为json)中所有以get开头的方法,不出问题才怪呢!

于是动手在该getXXXX方法前,加上注解 @JSON(serialize=false),阻止框架对其序列化,即可避免每次执行action时,该方法的自动执行。

一个“诡异”的问题解决了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值