struts2 checkbox 报错:ognl.OgnlException

1、前台代码如:

<s:checkbox name="singleTrip.transmit"></s:checkbox>

2、后台定义了:

singleTrip属性的get/set方法

3、进入Action时报错:

ognl.OgnlException: target is null for setProperty(null, "transmit", [Ljava.lang.String;@1a0561d)
 at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2219)
 at ognl.ASTProperty.setValueBody(ASTProperty.java:127)
 at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
 at ognl.SimpleNode.setValue(SimpleNode.java:301)
 at ognl.ASTChain.setValueBody(ASTChain.java:227)
 at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
 at ognl.SimpleNode.setValue(SimpleNode.java:301)
 at ognl.Ognl.setValue(Ognl.java:737)
    ...
 at java.lang.Thread.run(Thread.java:619)
expr: __checkbox_singleTrip.transmit val: [Ljava.lang.String;@1a0561d context: ognl.OgnlContext@c3e4e056 root:[com.csair.vos.order.action.BookInQueryAction@c0fd31, com.opensymphony.xwork2.DefaultTextProvider@2ed8df] value: [Ljava.lang.String;@1a0561d

4、分析前台html代码,发现struts2生成的代码为:

<input type="checkbox" name="singleTrip.transmit" value="true" id="singleTrip_transmit"/>

<input type="hidden" id="__checkbox_singleTrip_transmit" name="__checkbox_singleTrip.transmit" value="true" />

5、发现问题:

多了name="__checkbox_singleTrip.transmit"的hidden控件,所以报错了;

在Action中添加__checkbox_singleTrip属性与get/set方法,就没有报上面的错误了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值