首页 新闻 会员 周边

spring+struts2整合的问题!Unable to instantiate Action

0
悬赏园豆:20 [已解决问题] 解决于 2013-09-23 08:07
出现的错误是:Unable to instantiate Action defined for 'userlist' in namespace '/user'UserAction

在网上搜了好多,可是基本都没什么作用。。

这是struts的配置代码:
<constant name="struts.objectFactory" value="spring" />
<package name="user" namespace="/user" extends="struts-default">
<action name="userlist" class="userAction">
<result name="list">/WEB-INF/user/userList.jsp</result>
</action>
</package>

这是web.xml的配置文件:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<!-- 对Spring容器进行实例化 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

这个是我action的定义:
@Controller
public class UserAction {

public String userList()
{
return "list";
}
public String execute()
{
return "list";
}
}

就报上述错误了。

本人刚刚学习这方面的知识,望高手指教!鄙人万分感谢!
shenghaishiweini的主页 shenghaishiweini | 初学一级 | 园豆:166
提问于:2013-09-22 22:36
< >
分享
最佳答案
0

你的spring 配置文件呢?

目测是你的action 木有实例化/        class="userAction" 在哪里?

收获园豆:20
Beyond-bit | 老鸟四级 |园豆:2885 | 2013-09-22 23:07

 这是我的beans.xml文件 ,

<?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:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-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">
     <context:annotation-config/>
     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
        <property name="url" value="jdbc:sqlserver://127.0.0.1:1433;databaseName=Hibernate"/>
        <property name="username" value="sa"/>
        <property name="password" value="123456"/>
         <!-- 连接池启动时的初始值 -->
         <property name="initialSize" value="1"/>
         <!-- 连接池的最大值 -->
         <property name="maxActive" value="500"/>
         <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
         <property name="maxIdle" value="2"/>
         <!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
         <property name="minIdle" value="1"/>
      </bean>
      
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
         <property name="dataSource" ref="dataSource"/>
         <property name="mappingResources">
            <list>
              <value>com/test/model/user.hbm.xml</value>
            </list>
         </property>
         <property name="hibernateProperties">
            <value>
                hibernate.dialect=org.hibernate.dialect.SQLServerDialect
                hibernate.hbm2ddl.auto=update
                hibernate.show_sql=false
                hibernate.format_sql=false
                hibernate.cache.use_second_level_cache=true
                   hibernate.cache.use_query_cache=false
                hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
              </value>
         </property>
    </bean>
    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
          <property name="sessionFactory" ref="sessionFactory"/>
    </bean>
    <tx:annotation-driven transaction-manager="txManager"/>
        
</beans>

shenghaishiweini | 园豆:166 (初学一级) | 2013-09-22 23:10

@shenghaishiweini: 在你的spring 配置里面加一个bean 也就是 action的bean

<bean id="userAction" class="这里是完整的包名" scope="prototype"/>

Beyond-bit | 园豆:2885 (老鸟四级) | 2013-09-22 23:31

@Beyond-bit: 谢谢你!再你的帮助下,我已经搞定了!非常感谢!

shenghaishiweini | 园豆:166 (初学一级) | 2013-09-23 08:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册