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' ,这让我有点困惑。

欢迎任何建议。

此外,我的 servlet-context 在这里找到:Servlet-context

我已经为此奋斗了一个多星期了。

编辑

我希望能够以在This Example中使用的方式使用我的 bean ,在操作状态下,bean 直接由 Spring MVC 拾取/管理。bean 是否必须在 applicationcontext 中声明(并且可序列化?)?使用 xml 符号?

4

2 回答 2

1

如果我改变

<set> 

朝着一个

<evaluate expression>

并在文件 Manage-Beans.xml 中定义了 bean,它可以工作。

但是这样我必须定义同一个 bean 两次,因为它曾经被 pkg-search 注释拾取,然后在 web-flow 中再次出现。我想要已经做好的豆子。

Spring web flow 确实重新创建/实例化了 bean。您可以引用属性,将它们与 Web 流 bean 导入文件中的 bean 自动装配,但这就像一个新的上下文,不知道现有的 bean。(使用事件去流和正常上下文文件。)

于 2012-08-28T11:16:42.020 回答
0

java.lang.IllegalStateException:渲染视图org.springframework.web.servlet.view.JstlView发生异常:未命名;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 回答