Could not open template
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loginAction' defined in ServletContext resource [/WEB-INF/spring-login.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'userlogin' of bean class [com.caifu.info.action.LoginAction]: Bean property 'userlogin' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
Caused by: 
org.springframework.beans.NotWritablePropertyException: Invalid property 'userlogin' of bean class [com.caifu.info.action.LoginAction]: Bean property 'userlogin' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:793)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1127)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:424)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:270)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:733)
at com.opensymphony.xwork2.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:189)
at org.apache.struts2.components.Form.evaluateExtraParamsServletRequest(Form.java:276)
at org.apache.struts2.components.Form.populateComponentHtmlId(Form.java:230)
at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:738)
at org.apache.struts2.components.ClosingUIBean.start(ClosingUIBean.java:56)
at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:54)
at org.apache.jsp.caifu.login_jsp._jspx_meth_s_005fform_005f0(login_jsp.java:120)
at org.apache.jsp.caifu.login_jsp._jspService(login_jsp.java:91)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:413)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'loginAction' defined in ServletContext resource [/WEB-INF/spring-login.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'userlogin' of bean class [com.caifu.info.action.LoginAction]: Bean property 'userlogin' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'userlogin' of bean class [com.caifu.info.action.LoginAction]: Bean property 'userlogin' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:793)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:645)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1127)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(

解决方案 »

  1.   

    spring-login代码:<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
    <bean id="loginDao" class="com.caifu.info.dao.impl.LoginDaoImpl">
    <property name="dataSource"> <ref bean="dataSource"/></property>
    </bean> <bean id="userLoginService" class="com.caifu.info.service.impl.LoginServiceImpl">
    <property name="logindao"><ref bean="loginDao" /></property>
    </bean>

    <bean id="loginAction" class="com.caifu.info.action.LoginAction" singleton="false">
    <property name="userlogin"><ref bean="userLoginService"/></property>
    </bean>
    </beans>
      

  2.   

    scr下已经建立了struts.xml注册了, loginAction ,请看以下代码.谢谢!<struts>
     <include file="struts-default.xml"/>    <package name="struts2" extends="struts-default" namespace="/caifu">
         <!-- 后台登录 -->
        <action name="loginAction" class="loginAction">
        <result name="success">/caifu/index.jsp</result>
        <result name="input">/caifu/login.jsp</result>
        </action>
        </package>
    </struts>
      

  3.   

     Bean property 'userlogin' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? usrerlogin这个类有问题吧,可能里面的某个字段的类型错了!看看set方法!