防止struts2自动赋值

zhangww1985 2010-05-26 04:55:51
问题是这样的:
在jsp页面中的form表单中,我添加了表单元素,如<input name="myhouse" type="checkbox"></input>,
而当我表单提交的时候 后台就报错了 说是没办法给这个表单元素名赋值 , 而我又不想给他赋值
请问该如何来做呢?
在线等哦 谢谢

...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
izard999 2010-05-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhangww1985 的回复:]
HOHO~ 谢谢啦~ 问题搞定了,原来EL表达式跟java一样不能用“-”的,学习了
[/Quote]
el表达式和OGNL表达式是有web容易去解析执行的, java的web容器肯定是java环境阿,, 当然跟java命名规则是一样的嘛.! 问题解决就好
zhangww1985 2010-05-27
  • 打赏
  • 举报
回复
HOHO~ 谢谢啦~ 问题搞定了,原来EL表达式跟java一样不能用“-”的,学习了
izard999 2010-05-26
  • 打赏
  • 举报
回复
你在java里面定义一个int my-test = "1";编译都通不过的.!
呵呵.! 改了有错再来说
izard999 2010-05-26
  • 打赏
  • 举报
回复
看到了.!
2010-05-26 17:05:19,640 WARN (com.opensymphony.xwork2.ognl.OgnlValueStack:49) - Error setting value
ognl.InappropriateExpressionException: Inappropriate OGNL expression: L010101 - add
错误的OGNL表达式.!
下面还有:
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept
证明是填充请求参数的时候错误.!

那么你检查一下, 你后台的action上面是否有L010101-add?这个属性.?
那么是肯定没有的. ognl表达式跟java差不多吧, 带"-"这种变量命名是不允许的.!
你后台的action上面能有get/setL010101-add 这个方法吗.? 把"-"换成"_"
zhangww1985 2010-05-26
  • 打赏
  • 举报
回复
一楼有理 那我就做下补充。

2010-05-26 17:05:19,640 WARN (com.opensymphony.xwork2.ognl.OgnlValueStack:49) - Error setting value
ognl.InappropriateExpressionException: Inappropriate OGNL expression: L010101 - add
at ognl.SimpleNode.setValueBody(SimpleNode.java:257)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
at ognl.SimpleNode.setValue(SimpleNode.java:246)
at ognl.Ognl.setValue(Ognl.java:476)
at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:192)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:155)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:143)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:273)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
这是后台报错的一小段

而页面是这样的
<td class="list_data_text"><input type="checkbox" name="L010101-add" checked="checked"></td>
<td class="list_data_text"><input type="checkbox" name="L010101-del" checked="checked"></td>
<td class="list_data_text"><input type="checkbox" name="L010101-sel" checked="checked"></td>


谢谢指教
izard999 2010-05-26
  • 打赏
  • 举报
回复
说是没办法给这个表单元素名赋值
后台报错的堆栈信息贴出来吧.! 你就这样描述,,估计能明白的就没几个!

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧