当前位置: 代码迷 >> Java Web开发 >> ,<input/>标签,传值有关问题
  详细解决方案

,<input/>标签,传值有关问题

热度:120   发布时间:2016-04-16 21:59:54.0
求助,<input/>标签,传值问题。
<input type="text" name="bean.dutyScore" value="${bean.dutyScore!}" />
其中bean.dutyScore  是Integer类型的。
报的错误:ognl.MethodFailedException: Method "setDutyScore" failed for object com.risen.siping.entity.SiPing@18a91dd9 [java.lang.NoSuchMethodException: setDutyScore([Ljava.lang.String;)]

用的框架是ssh   前台是freemarker
疑问: 难道input 传的值,只能是String类型的吗?  以前也碰到过这种情况,都是投机取巧, 先传String类型,然后再去后台转其他类型。但是很不方便。
有没有什么办法可以解决?
第一次发帖,实在是纠结这个问题,求帮忙。
------解决方案--------------------
从前台页面传到后台的属性,都是字符串的,因为前台才不会管你什么类型,呈现到页面的统统成了字符。所有需要你后台自己转咯。你既然用的ssh,应该不用考虑这个问题吧
------解决方案--------------------
看看有没有 setDutyScore  这个啊
------解决方案--------------------
看看你是否有bean对象,如果没有bean对象,则创建一个,如果有bean对象,则看看是否有setDutyScore。

------解决方案--------------------
看看 set get方法有没有 
------解决方案--------------------
要分析是提交的时候报错,还是在显示当前页面的时候报错?
提交的时候报错,你要查看一下是否有重复提交现象,比如在你的JSP中有多个name="bean.dutyScore" 的对象,这样会导致提交时分不清到底取哪个值,所以报错。
在显示当前页面的时候报错,那就有可能是你在Bean这个对象的问题,有可能不存在setDutyScore()这个方法。不过我觉得你应该不至于犯这个错误。
------解决方案--------------------
value="${bean.dutyScore!}"

为什么有个!
------解决方案--------------------
先看下action有没有值到值.
------解决方案--------------------
是jsp报错还是后台报错,看你的错,你在ACTION中声明的对象,get  set  ,然后 对象.get属性()   你打印一下看看获取到值没有, 没有就是没传过来,看你的配置文件,和映射文件
  相关解决方案