struts2.1.8.1出错:ognl.MethodFailedException

本文探讨了Struts从旧版本升级到2.1.8.1过程中遇到的一个具体问题:原本定义为setFunctionId(int)的方法,在升级后无法正确处理参数。分析发现,问题是由于前端传来的数据末尾存在空格,导致整数转换失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统提示如下错误:

WARN - Error setting expression 'authFunction.functionId' with value '[Ljava.lang.String;@190db5c'
ognl.MethodFailedException: Method "setFunctionId" failed for object com.model.AuthFunction@18d735c[java.lang.NoSuchMethodException: com.model.AuthFunction.setFunctionId([Ljava.lang.String;)]

 

问题:

Struts 升级到 struts2.1.8.1 ,出现一个问题,找不到setFunctionId([Ljava.lang.String;)方法,实际上系统中定义的是setFunctionId(int)方法,但原来版本并没有这个问题。
并不是ognl更新的问题,应该是 xwork-core-2.1.6.jar 的问题。
但真正问题其实是网页传递过来的值是“3 ”,末尾多了个空格,
导致无法转换为int,于是寻找String方法,结果就提示找不到。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值