<?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="urlMapping" 
  class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">    
  <property name="mappings">      
      <props>                                                  
      <prop key="input.do">testAction</prop> 
      </props>                   
</property>         
 </bean>            
<!--配置处理器-->  
<bean id="testAction"  class="com.demo.spring.actions.TestAction"> 
 <!--指定输入的表单类-->  
<property name="commandClass ">
<value>com.demo.spring.formbeans.TestForm</value>
</property>      <!--指定失败要返回的页面-->  
       <property name="formView" >                              
            <value>input</value>                 
       </property>  
<!--指定成功要返回的页面-->  
       <property name="successView ">                              
            <value>welcome</value>                 
</property>              
</bean> <!--配置视图解析器-->  
    <bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>
org.springframework.web.servlet.view.InternalResourceView
</value>
</property>
<property name="prefix">
    <value>/</value>
    </property>
 <property name="suffix">
    <value>.jsp</value>
 </property>
</bean>
   
  </beans> 

解决方案 »

  1.   

    这个是spring simpleformcontroller的配置文件,我一运行它就报错,错误如下:
    严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'testAction' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'commandClass ' of bean class [com.demo.spring.actions.TestAction]: No property 'commandClass ' found
    Caused by: org.springframework.beans.InvalidPropertyException: Invalid property 'commandClass ' of bean class [com.demo.spring.actions.TestAction]: No property 'commandClass ' found
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:376)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1111)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:861)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:421)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:733)
    at org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.registerHandler(AbstractUrlHandlerMapping.java:256)
    at org.springframework.web.servlet.handler.SimpleUrlHandlerMapping.registerHandlers(SimpleUrlHandlerMapping.java:125)
    at org.springframework.web.servlet.handler.SimpleUrlHandlerMapping.initApplicationContext(SimpleUrlHandlerMapping.java:103)
    at org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:73)
    at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:72)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:301)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1167)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1315)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    2011-3-21 17:12:33 org.apache.catalina.core.StandardContext start
    严重: Error listenerStart
    2011-3-21 17:12:33 org.apache.catalina.core.StandardContext start
    严重: Context [/webtest] startup failed due to previous errors
      

  2.   

    testAction里面有没有commandClass 这个变量  应该没有吧
      

  3.   

    没有啊 这个simpleformcontroller不是不用创建commandClass属性么? 我看介绍说不用,说它是继承的abstractformcontroller,已经有该属性,只要在配置文件里写入就行了,难道还需要在控制类里去创建一个?
      

  4.   

    com.demo.spring.actions.TestAction类里面请设置 commandClass 的getter/setter
      

  5.   

    你的com.demo.spring.actions.TestAction 继承了什么类  应该没有commandClass 这个变量
      

  6.   

    package com.demo.spring.actions;import java.net.BindException;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.SimpleFormController;import com.demo.spring.formbeans.TestForm;public class TestAction extends SimpleFormController{
    protected ModelAndView onSubmit(HttpServletRequest request,
    HttpServletResponse response, Object command, BindException errors)throws Exception{
     TestForm tf=(TestForm)command;
     String username=tf.getUsername();
     String password=tf.getPassword();
     if(username.equals("admin")&&password.equals("admin"))
     {
     return new ModelAndView(getSuccessView());
     }
     if(!username.equals("admin")||!password.equals("admin"))
     {
     return new ModelAndView(getFormView());
     }
     return null; 
     }

    }
      

  7.   

    我刚开始学spring 这个是老师让做的实验。是继承那个simpleformcontroller
      

  8.   

    配置文件中声明了testAction类有一个属性叫commandClass但是Spring在初始化testAction类的时候没有找到它有commandClass这个属性所以报错了~
      

  9.   

    testAction里没有set和get  commandClass的方法?1
      

  10.   

    Invalid property 'commandClass ' of bean class [com.demo.spring.actions.TestAction]: No property 'commandClass ' found这是你的异常堆栈里的信息所以我判断是这个问题