struts2 ognl表达式 后台获取不到值

今天朋友请教一个struts2 以ognl方式上传的问题;刚开始我写了一个很正常,然后拿到他的部分源码进行修改,也陷入了同样的问题;

场景:
表单的一部分是

<input name="templateType.tableModel.pageSize" type="text"/>

一个Action里封装一个TemplateType实例,TemplateType有一个属性是TableModel的实例;TableModel又有个基本类型的pageSize;只要bean里面提供了get和set方法,提交上去后,struts的拦截器会自动将parameter封装进Action里面的对象的;但是templateType始终是null;

我自己写了两个测试用的User和Apple实例,运行良好;

这两套Action基本完全一致,后来想到是否是ognl有一些规范?网上没找到,最后将TemplateType和TableModel这两个实例都改写成小写的,运行成功,pageSize无所谓;

<input name="tt.pp.pageSize" type="text"/>

[color=red]由此得出结论:使用ognl表达式,中间层的对象一定要小写才行啊!!![/color]

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *