我正在尝试在以下Web流程中使用一些@Service注释类(是的,使用mvc:annotation-driven):
<?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>
<?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,在动作状态下,由Spring MVC直接拾取/管理bean。 是否必须在applicationcontext中声明(并可序列化?)bean?使用xml-notation?
答案 0 :(得分:1)
如果我改变了
<set>
朝着
<evaluate expression>
并且在文件Manage-Beans.xml中定义了bean,它可以正常工作。
但是这样我必须两次定义同一个bean,因为它曾经被pkg-search注释选中,然后再次在web-flow中。 我想要制作已经制作的豆子。
Spring web flow再次重新创建/实例化bean。您可以引用属性,在web-flow beans导入文件中使用bean自动装配它们,但它就像一个新的上下文,不知道现有的bean。 (使用事件会转到流文件和普通上下文文件。)
答案 1 :(得分:0)
java.lang.IllegalStateException:渲染视图发生异常 org.springframework.web.servlet.view.JstlView:unnamed;网址 [/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) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) javax.servlet.http.HttpServlet.service(HttpServlet.java:621) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:322)
检查视图文件位置。