![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
大神门 帮我看看 这个怎么解决啊 struts类型转换问题
WARNOgnlValueStack:60-Errorsettingexpression'c_id'withvalue'[Ljava.lang.String;@5fe73...
WARN OgnlValueStack:60 - Error setting expression 'c_id' with value '[Ljava.lang.String;@5fe7337a'
ognl.MethodFailedException: Method "setC_id" failed for object com.jr.devg.action.CustomerAction@2de62290 [java.lang.NoSuchMethodException: com.jr.devg.action.CustomerAction.setC_id([Ljava.lang.String;)]
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1285)
at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1474)
at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85)
at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162)
at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:27)
大神们 帮忙看看.. 展开
ognl.MethodFailedException: Method "setC_id" failed for object com.jr.devg.action.CustomerAction@2de62290 [java.lang.NoSuchMethodException: com.jr.devg.action.CustomerAction.setC_id([Ljava.lang.String;)]
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1285)
at ognl.OgnlRuntime.setMethodValue(OgnlRuntime.java:1474)
at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:85)
at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:162)
at com.opensymphony.xwork2.ognl.accessor.ObjectAccessor.setProperty(ObjectAccessor.java:27)
大神们 帮忙看看.. 展开
展开全部
setC_id([Ljava.lang.String;)]找不到这个方法,这是个什么参数类型的方法呢?显然是一个String[]类型的; -->为什么会出现这个现象呢?
答:在模型驱动之ModelDriven接口,这一知识点中,提到这么一个现象,如下:
该方式需要实现modelDriven这个接口。因此,运行时.它会检查UserAction是否实现了ModelDriven接口,如果实现了,那么就调用它的getModel()方法得到相应的类对象,如User.然后再去调用User对象的setC_id()和setPassword()来封装表单数据。
但是,如果UserAction没有实现ModelDriven接口,那么Struts还会去查询UserAction是否存在setC_id()和setPassword()方法,即以属性驱动方式来封装表单数据,也就是最终要找setC_id([Ljava.lang.String;)]这个方法,但因为相应的action中,如UserAction没有这两个方法,那么就会提示如上错误。
答:在模型驱动之ModelDriven接口,这一知识点中,提到这么一个现象,如下:
该方式需要实现modelDriven这个接口。因此,运行时.它会检查UserAction是否实现了ModelDriven接口,如果实现了,那么就调用它的getModel()方法得到相应的类对象,如User.然后再去调用User对象的setC_id()和setPassword()来封装表单数据。
但是,如果UserAction没有实现ModelDriven接口,那么Struts还会去查询UserAction是否存在setC_id()和setPassword()方法,即以属性驱动方式来封装表单数据,也就是最终要找setC_id([Ljava.lang.String;)]这个方法,但因为相应的action中,如UserAction没有这两个方法,那么就会提示如上错误。
追问
你好 还在不在 麻烦您给我说说 我改怎么做 ...不会要把int 换成String
吧 我数据库里面是int 在页面传过来set的时候 就 出这个异常...
![](https://ecmc.bdimg.com/public03/b4cb859ca634443212c22993b0c87088.png)
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询