2

次の Web フロー内で @Service 注釈付きクラスを使用しようとしています (はい、mvc:annotation-driven を使用)。

管理フロー.xml

<?xml version="1.0" encoding="UTF-8"?>
<flow xmlns="http://www.springframework.org/schema/webflow"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/webflow
    http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd" start-state="start" >



<view-state id="start" view="Userview.jsp" >

<on-render>

    <set name="flowScope.users"
        value="UserService.getUsers()">
    </set>
</on-render>
</view-state>
<bean-import resource="Manage-Beans.xml"/>
</flow>

管理 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"     xsi:schemaLocation="http://www.springframework.org/schema/beans         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean class="com.dproductions.test.Service.SiteService" id="SiteService" />
<bean class="com.dproductions.test.Service.CustomerService" id="CustomerService" />
<bean class="com.dproductions.test.Service.UserService" id="UserService" />

 </beans>

フローに到達しようとすると、次のスタックトレースが表示されます: http://pastebin.com/QmCXe45Y

これは、指定されたパッケージにアクセスできないWebflowに帰着します。しかし、それは 'ClassNotFoundException' を与えません。これは私にはちょっと不可解です。

どんな提案でも大歓迎です。

その上、私のサーブレットコンテキストはここにあります:サーブレットコンテキスト

私は今、1週間以上これと戦っています。

編集

This Exampleで使用されている方法で、アクション状態で Bean を使用できるようにしたいと考えています。Bean は Spring MVC によって直接ピックアップ/管理されています。Bean は applicationcontext で宣言 (およびシリアル化可能) する必要がありますか? xml-notation を使用していますか?

4

2 に答える 2

1

私が変更した場合

<set> 

に向かって

<evaluate expression>

ファイル Manage-Beans.xml で Bean を定義すると、動作します。

しかし、その方法では、同じ Bean を 2 回定義する必要があります。これは、一度 pkg-search アノテーションによって取得され、その後 Web フローで再び取得されるためです。出来上がった豆をいただきたいです。

Spring Web フローは、Bean を再度作成/インスタンス化します。プロパティを参照し、Web フロー Bean インポート ファイル内の Bean でそれらを自動配線できますが、それは既存の Bean を認識しない新しいコンテキストのようなものです。(イベントを使用すると、フロー ファイルと通常のコンテキスト ファイルの両方に移動します。)

于 2012-08-28T11:16:42.020 に答える
0

java.lang.IllegalStateException: ビュー org.springframework.web.servlet.view.JstlView: unnamed; のレンダリングで例外が発生しました。URL [/WEB-INF/flows/manage/Userview.jsp] org.springframework.webflow.mvc.view.AbstractMvcView.render(AbstractMvcView.java:191) org.springframework.webflow.engine.ViewState.render(ViewState.java :296) org.springframework.webflow.engine.ViewState.refresh(ViewState.java:243) org.springframework.webflow.engine.ViewState.resume(ViewState.java:221) org.springframework.webflow.engine.Flow.resume (Flow.java:545) org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:258) org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169) org.springframework.webflow .mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183) 組織。

ビューファイルの場所を確認してください。

于 2012-08-26T14:11:00.377 に答える