我在 action 中配置了 service (接口) 用service 调用 loginIn方法,service 被serviceImpl 实现,serviceImpl 中 配置了UsersDAO (接口),UsersMapper.xml 中namespace指向UsersDAO
,这样配置对吗?Spring struts2 Mybatis 架构 Eclipse 开发,Tomcat7报错是在网页上,并不是在Eclipse里
java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.xianlikeji.service.LoginService.loginIn
org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:672)
org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:507)
org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:500)
org.apache.ibatis.binding.MapperMethod.setupCommandType(MapperMethod.java:240)
org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:71)
org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:39)
$Proxy11.loginIn(Unknown Source)
com.xianlikeji.action.LoginAction.execute(LoginAction.java:53)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept
我没有在spring.xml中配置映射关系,都是使用的@Autowired注入的,serviceImpl仅实现了service接口,其他地方没有用到,action中注入的是service接口,serviceImpl注入的是UsersDAO接口,UsersMapper.xml 中指向UsersDAO接口
追答UsersMapper.xml这个配置文件里面的com.xianlikeji.service.LoginService.loginIn
这个地址仔细对照一下是否正确!
if(loginService.loginIn(user)){
就是这代码吗?这是execute方法中的一句代码,返回true 则return SUCCESS 否则return INPUT
user有set get方法吗?
追问有的,在action中提供了getter setter,并且自动注入LoginService接口,LoginServiceImpl实现LoginService,LoginServiceImpl自动注入UsersDAO接口,UsersMapper.xml指向UsersDAO
追答网页中传值是以什么方式传的? ???处是什么,还有form的methord是post还是get?
这不是mybatis.xml中的吗??我写了啊
方便的话,你把你的工程发给我,[email protected]
你导入工程试一下,我给你发回去了,主要修改了spring.xml,有问题再联系