请大家帮帮忙,我弄了很久还是不能解决,下面是异常及代码org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:
PropertyAccessException 1:
org.springframework.beans.TypeMismatchException: Failed to convert property value of type [com.gc.registDao.registDAO] to required type [com.gc.form.Regist] for property 'regist'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [com.gc.registDao.registDAO] to required type [com.gc.form.Regist] for property 'regist': no matching editors or conversion strategy found
Caused by: java.lang.IllegalArgumentException: Cannot convert value of type [com.gc.registDao.registDAO] to required type [com.gc.form.Regist] for property 'regist': no matching editors or conversion strategy found
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:231)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:815)
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:1122)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:857)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:268)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:737)
at org.springframework.web.struts.DelegatingActionProxy.getDelegateAction(DelegatingActionProxy.java:127)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:109)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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:175)
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:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)下面是我的applicationContext.xml的配置文件:<?xml version="1.0" encoding="gb2312"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url"
value="jdbc:microsoft:sqlserver://localhost:1433">
</property>
<property name="username" value="sa"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/gc/form/Regist.hbm.xml</value>
</list>
</property>
</bean>
<bean name="/regist"
class="com.yourcompany.struts.action.RegistAction" abstract="false"
lazy-init="default" autowire="default" scope="prototype"
dependency-check="default">
<property name="regist">
<ref local="registDao" />
</property>
<property name="regist_dao">
<ref local="registDao" />
</property>
</bean> <bean name="regist" class="com.gc.form.Regist"></bean> <bean id="registDao" class="com.gc.registDao.registDAO">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
</beans>
下面是struts-config.xml的配置文件 :
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
<data-sources />
<form-beans >
<form-bean name="registForm" type="com.yourcompany.struts.form.RegistForm" /> </form-beans> <global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="registForm"
input="/index.jsp"
name="registForm"
path="/regist"
scope="request" type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="succ" path="/successful.jsp" />
<forward name="failed" path="/failed.jsp" />
</action> </action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/>
</plug-in>
</struts-config>
PropertyAccessException 1:
org.springframework.beans.TypeMismatchException: Failed to convert property value of type [com.gc.registDao.registDAO] to required type [com.gc.form.Regist] for property 'regist'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [com.gc.registDao.registDAO] to required type [com.gc.form.Regist] for property 'regist': no matching editors or conversion strategy found
Caused by: java.lang.IllegalArgumentException: Cannot convert value of type [com.gc.registDao.registDAO] to required type [com.gc.form.Regist] for property 'regist': no matching editors or conversion strategy found
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:231)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:815)
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:1122)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:857)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:268)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:737)
at org.springframework.web.struts.DelegatingActionProxy.getDelegateAction(DelegatingActionProxy.java:127)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:109)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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:175)
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:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)下面是我的applicationContext.xml的配置文件:<?xml version="1.0" encoding="gb2312"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url"
value="jdbc:microsoft:sqlserver://localhost:1433">
</property>
<property name="username" value="sa"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/gc/form/Regist.hbm.xml</value>
</list>
</property>
</bean>
<bean name="/regist"
class="com.yourcompany.struts.action.RegistAction" abstract="false"
lazy-init="default" autowire="default" scope="prototype"
dependency-check="default">
<property name="regist">
<ref local="registDao" />
</property>
<property name="regist_dao">
<ref local="registDao" />
</property>
</bean> <bean name="regist" class="com.gc.form.Regist"></bean> <bean id="registDao" class="com.gc.registDao.registDAO">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
</beans>
下面是struts-config.xml的配置文件 :
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
<data-sources />
<form-beans >
<form-bean name="registForm" type="com.yourcompany.struts.form.RegistForm" /> </form-beans> <global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="registForm"
input="/index.jsp"
name="registForm"
path="/regist"
scope="request" type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="succ" path="/successful.jsp" />
<forward name="failed" path="/failed.jsp" />
</action> </action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/>
</plug-in>
</struts-config>
解决方案 »
- spring 线程安全 数据同步化的问题
- SQL 2000 数据库链接问题,请各位指教,谢谢!
- hibernate mysql的一个问题
- 回头请教servlet调hibernate接口的问题,servlet怎么调用hibernate接口
- WAS服务器启动报错,求大大们帮忙看下!
- 怎样才能把存在Collection中的ArrayList取出来呢?
- servlet问题
- 在Tomcat 4.1中连接池的问题
- 华山轮剑,求助高手
- 关于CAS单点登录的问题,各位大牛帮帮忙!
- wsdl 的绑定样式和web service 客户端的调用方式有关系吗?
- 为什么我写EJB存字段为Blob时在数据插入时为null
package com.gc.registDao;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;import com.gc.form.Regist;public class registDAO { private SessionFactory sessionFactory; private Session session; private Transaction tx; public SessionFactory getSessionFactory() {
return sessionFactory;
} public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
} public boolean registed(Regist reg) {
try
{
session = sessionFactory.openSession();
tx = session.beginTransaction();
session.save(reg);
tx.commit();
session.close();
return true;
}catch(Exception e)
{
e.printStackTrace();
return false;
}
}
}下面是registAction 这个类:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.yourcompany.struts.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import com.gc.form.Regist;
import com.gc.registDao.registDAO;
import com.yourcompany.struts.form.RegistForm;/**
* MyEclipse Struts
* Creation date: 10-22-2008
*
* XDoclet definition:
* @struts.action path="/regist" name="registForm" input="/index.jsp" scope="request" validate="true"
*/
public class RegistAction extends Action {
/*
* Generated Methods
*/ /**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
private Regist regists,reg;
private registDAO regist_dao;
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
RegistForm registForm = (RegistForm) form;// TODO Auto-generated method stub
regists=new Regist();
regists.setAddress(registForm.getAddress());
regists.setAge(registForm.getAge());
regists.setBirthday(registForm.getBirthday());
regists.setGrander(registForm.getGrander());
regists.setUserName(registForm.getUser_name());
regists.setId(registForm.getID());
if(regist_dao.registed(regists))
{
System.out.println("注册成功......");
return mapping.findForward("succ");
}
else
{
System.out.println("注册失败......");
return mapping.findForward("failed");
}
}
public Regist getRegist() {
return regists;
}
public void setRegist(Regist regists) {
this.regists = regists;
}
public registDAO getRegist_dao() {
return regist_dao;
}
public void setRegist_dao(registDAO regist_dao) {
this.regist_dao = regist_dao;
}
public Regist getRegists() {
return regists;
}
public void setRegists(Regist regists) {
this.regists = regists;
}
}