首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

Spring+Struts调整找不到指定的Action方法

2012-09-03 
Spring+Struts整合找不到指定的Action方法?在做一个Spring+Struts的程序。总是提示找不到指定的方法。在Spri

Spring+Struts整合找不到指定的Action方法?
在做一个Spring+Struts的程序。
总是提示找不到指定的方法。在Spring中是使用cglib创建代理的。
Struts.xml中也指定了要使用Sping来创建管理对象。
++++++++++++++
Struts.xml
===================

HTML code
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts>    <constant name="struts.devMode" value="true"></constant>    <constant name="struts.objectFactory" value="spring"></constant>        <package name="Microblogging" extends="struts-default">        <action name="UserLoginAndRegist" class="cn.edu.bzu.Microblogging.Action.UserLoginAndRegist">            <result name="success">/jsp/webPage/user_index.jsp</result>            <result name="input">/jsp/prompt/regist_prompt_failure.jsp</result>        </action>    </package></struts>    

============
Sping 的配置文件:
==============
HTML code
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:p="http://www.springframework.org/schema/p"    xmlns:aop="http://www.springframework.org/schema/aop"    xmlns:tx="http://www.springframework.org/schema/tx"    xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans     http://www.springframework.org/schema/beans/spring-beans-2.5.xsd     http://www.springframework.org/schema/aop    http://www.springframework.org/schema/aop/spring-aop-2.5.xsd    http://www.springframework.org/schema/tx    http://www.springframework.org/schema/tx/spring-tx-2.5.xsd    http://www.springframework.org/schema/context     http://www.springframework.org/schema/context/spring-context-2.5.xsd">    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">        <property name="configLocation"><value>classpath:hibernate.cfg.xml</value></property>    </bean>    <!-- 事务管理器 -->    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">        <property name="sessionFactory" ref="sessionFactory"/>    </bean>        <aop:config proxy-target-class="false">        <aop:pointcut id="transactionPointcut" expression="execution(* cn.edu.bzu.Microblogging..*.*(..))"/>            <aop:advisor advice-ref="txAdvice" pointcut-ref="transactionPointcut"/>    </aop:config>    <!-- 通知 -->    <tx:advice id="txAdvice" transaction-manager="txManager">        <tx:attributes>            <tx:method name="get*" read-only="true" propagation="NOT_SUPPORTED"/>            <tx:method name="*"/>        </tx:attributes>    </tx:advice>        <!-- Spring自动扫描 -->     <context:component-scan base-package="cn.edu.bzu.Microblogging"/></beans>


=================
出现的错误是:
Java code
java.lang.NoSuchMethodException: cn.edu.bzu.Microblogging.Action.UserLoginAndRegist$$EnhancerByCGLIB$$bd296b55.regist() 



==============
希望有大牛可以帮忙……多谢了先。

[解决办法]
你这样肯定是找不到的了,既然你的Spring用了自动扫包,你Struts配置里action的class不能是类的全路径,而是由Spring为你注入的名称,应该是你action所有类注解命名的名称,而且你把Spring的注解配置开了吧,反正看你的配置文件也太简单了吧,给你个地址去看看,有完整的Struts2配置文件和Spring配置文件,就是扫包的。
http://blog.csdn.net/lun379292733

热点排行