Java 在SpringMVC中获取错误
我得到以下错误Java 在SpringMVC中获取错误,java,spring,spring-mvc,Java,Spring,Spring Mvc,我得到以下错误 java.lang.IllegalStateException: **Neither BindingResult nor plain target object for bean name 'course' available as request attribute** at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:144) at Jsp:
java.lang.IllegalStateException: **Neither BindingResult nor plain target object for bean name 'course' available as request attribute**
at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:144)
at
Jsp:
徖
<context:annotation-config />
<context:component-scan base-package="com.spring" />
<mvc:annotation-driven />
<mvc:resources location="/WEB-INF/" mapping="/**" />
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/view/" />
<property name="suffix" value=".jsp" />
</bean>
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="resources/messages" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="/WEB-INF/jdbc.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.databaseurl}" p:username="${jdbc.username}" p:password="${jdbc.password}" />
<tx:annotation-driven />
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- Hibernate SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.spring.model</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${jdbc.dialect}</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<!-- <prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.use_sql_comments">true</prop> -->
</props>
</property>
</bean>
com.spring.model
${jdbc.dial}
更新
真的
您与JSP文件中的正确URL不匹配。
更改JSP文件上的此行:
<form:form commandName="course" action="addCourse" method="POST">
用于:
我只是在我的控制器中添加以下代码 第二件事是,您必须首先将index.jsp文件重定向到其他文件
@RequestMapping(method = RequestMethod.GET)
public String addEmployee(@ModelAttribute("a") A a, Model model,HttpServletRequest request)
{
return "addEmployee";
}
正如在文章中所说,加载jsp本身时可能会发生错误,并且
更多的过度绑定可能会失败,原因如下
可以通过BindingResult接口检查绑定结果,
扩展Errors接口:请参阅getBindingResult()方法。
缺少的字段和属性访问异常将转换为
FieldErrors,在Errors实例中收集,使用以下
错误代码:
因此,请检查您可能遗漏的任何类型不匹配或字段,由于我曾亲自面对过这个问题请解释什么时候会出现错误,以及StackTracened stacktrace是什么来理解这个问题的。我只是使用spring mvc和hibernate将值存储在数据库中。有一个课程名称的输入,我使用courseServise将其添加到数据库中。不知道stacttrace。您是否在spring应用程序上下文中定义了bean?Andreas Hartmann是的,我定义了它。
<context:annotation-config />
<context:component-scan base-package="com.spring" />
<mvc:annotation-driven />
<mvc:resources location="/WEB-INF/" mapping="/**" />
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/view/" />
<property name="suffix" value=".jsp" />
</bean>
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="resources/messages" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="/WEB-INF/jdbc.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.databaseurl}" p:username="${jdbc.username}" p:password="${jdbc.password}" />
<tx:annotation-driven />
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!-- Hibernate SessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.spring.model</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${jdbc.dialect}</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<!-- <prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.use_sql_comments">true</prop> -->
</props>
</property>
</bean>
<form:form commandName="course" action="addCourse" method="POST">
<form:form commandName="course" action="/addCourse" method="POST">
@RequestMapping(value="/addCourse",method= RequestMethod.POST)
@RequestMapping(value="addCourse",method= RequestMethod.POST)
@RequestMapping(method = RequestMethod.GET)
public String addEmployee(@ModelAttribute("a") A a, Model model,HttpServletRequest request)
{
return "addEmployee";
}
> Missing field error: "required"
> Type mismatch error: "typeMismatch"
> Method invocation error: "methodInvocation"