Spring Bean注入不工作Dwr

时间:2013-03-06 06:52:35

标签: spring hibernate struts2 dwr

我在两个不同的包中有两个动作

<package name="default" extends="struts-default json-default" namespace="/">

      <action name="getstarted"  class="GetStartedActionBean">
            <result name="success">/jsp/getStarted.jsp</result>
            <result name="input">/jsp/getStarted.jsp</result>
      </action>
</package> 

<package name="example" extends="json-default">

      <action name="searchIndustryaction"  class="GetStartedActionBean"  method="searchIndustry">
      </action>

  </package> 

我已经注入了一个bean,当页面加载时工作正常,但我的搜索是通过dwr,那时bean没有被注入

在我的impl中

private SessionFactory sessionfactory;

 public void setSessionfactory(SessionFactory sessionfactory) {
     this.sessionfactory = sessionfactory;
}
调用execute方法时设置

sessionFactory但是当我调用searchIndustry sessionfactory时使用dwr始终为null

Dwr条目

<create creator="new" javascript="AdvancedSearch" scope="application">
            <param name="class" value="com.sample.dao.impl.IndustryDAOImpl"/>        
        </create>

如何在dwr中调用注入的bean?

2 个答案:

答案 0 :(得分:2)

如果您使用DWR意味着您必须输入这样的条目

<create creator="spring" javascript="Industry">
<param name="beanName" value="Yourbeanname" />
</create>

但您直接调用该类,因此请更改为此格式。希望它对你有用

答案 1 :(得分:0)

在你的dwr.xml中,你可以为其中的一个创建者:

new :使用Java'new'运算符。

static :使用'getInstance()'方法(默认情况下)获取类的实例。

:这不会创建对象。请参阅下文了解原因。 (V1.1 +)

脚本化:通过BSF使用BeanShell或Groovy等脚本语言。

spring :通过Spring Framework提供对bean的访问。

jsf :使用JSF中的对象。 (V1.1 +)

struts :使用struts FormBeans。 (V1.1 +)

页面流:允许从Beehive或Weblogic访问PageFlow。 (V1.1 +)