1

2つの異なるパッケージに2つのアクションがあります

<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> 

1つのBeanを注入しましたが、ページが読み込まれたときに正常に機能していますが、その時点で検索はdwrを介して行われています。Beanは注入されていません。

私の実装では

private SessionFactory sessionfactory;

 public void setSessionfactory(SessionFactory sessionfactory) {
     this.sessionfactory = sessionfactory;
}

sessionFactoryexecuteメソッドが呼び出されたときに設定されますが、呼び出されたときにdwrを使用するsearchIndustry sessionfactoryと常にnullになります

Dwrエントリ

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

注入されたBeanをdwrでどのように呼び出すのですか?

4

2 に答える 2

2

DWR を使用している場合は、次のようなエントリを配置する必要があります

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

ただし、クラスを直接呼び出しているため、この形式に変更してください。それがあなたに役立つことを願っています

于 2013-03-06T09:09:14.080 に答える
0

あなたの dwr.xml では、作成者のために次のいずれかを作成できます。

new : Java の「new」演算子を使用します。

static : 「getInstance()」メソッドを使用して (デフォルトで) クラスのインスタンスを取得します。

none : オブジェクトを作成しません。理由については、以下を参照してください。(v1.1+)

scripted : BSF 経由で BeanShell や Groovy などのスクリプト言語を使用します。

spring : Spring Framework を介して Bean にアクセスできるようにします。

jsf : JSF のオブジェクトを使用します。(v1.1+)

struts : struts FormBeans を使用します。(v1.1+)

pageflow : Beehive または Weblogic から PageFlow へのアクセスを提供します。(v1.1+)

于 2014-09-23T08:21:42.017 に答える