org.springframework.beans.PropertyBatchUpdateException,TypeMismatchException

Internet_net 2008-10-23 10:34:17
请大家帮帮忙,我弄了很久还是不能解决,下面是异常及代码

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>
...全文
1521 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuoxu123 2008-12-11
  • 打赏
  • 举报
回复
我也遇到了,后来重新取消了事务重新发布,再加上事务再发布自己就行了应该myeclipse自带的问题
zuoxu123 2008-12-11
  • 打赏
  • 举报
回复
我也遇到了,后来重新取消了事务重新发布,再加上事务再发布自己就行了应该myeclipse自带的问题
Internet_net 2008-10-23
  • 打赏
  • 举报
回复
哈啊!!问题解决了
Internet_net 2008-10-23
  • 打赏
  • 举报
回复
这是与异常相关联的两个类:

下面是registDao这个类:
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;
}
}
zxdzhou 2008-10-23
  • 打赏
  • 举报
回复
我也遇到跟你差不多的问题,请教一下你是怎样解决的呢,是不是spring包和hibernate发生冲突哦

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧