目前,我的应用程序逻辑使用请求参数来执行逻辑。在我的新需求中,我还可以得到一个只有一个db键(db将具有这些值)作为请求参数的请求。我可以从数据库中获取数据,但现在的问题是,我现有的逻辑/流程将无法工作,因为它需要参数映射中的数据。
在spring-mvc中,我可以再次转发请求,并将参数附加到请求
@Controller
public class TestController {
@RequestMapping(value="/test")
public String showTestPage() {
return "forward:/test2?param1=foo¶m2=bar";
}
}
@Controller
public class TestController2 {
@RequestMapping(value="/test2")
public String showTestPage(HttpServletRequest request) {
String param1 = request.getParameter("param1");
String param2 = request.getParameter("param2");
return "testPageView";
}
}但在spring-webflow中,我不确定如何复制相同的行为,因为它在状态上工作,而不是在请求映射上工作。有没有人可以在添加参数后告诉我spring-webflow中有没有转发的方法。
发布于 2013-08-27 01:50:00
更新:
抱歉,我把你的问题弄错了。
在WebFlow中,您有view-states,它可以转换到下一个状态。如果你想传递参数,你可以这样做:
flow.xml:
<view-state id="test" view="test.jsp>
<transition on="toTest2" to="test2" />
</view-state>
<view-state id="test2" view="test2.jsp>
<on-render>
<evaluate expression="test2Delegate.doSomething(requestParameters.param2, requestParameters.param2)"
</on-render>
</view-state>Test.jsp:
<a href="${flowExecutionUrl}&_eventId=toTest2¶m1=foo¶m2=bar" />Java:
@Component
public class Test2Delegate {
public void doSomething(String param1, String param2) {
//doSomething
}
}我建议您阅读Spring Web Flow Reference Guide
发布于 2013-09-05 16:22:13
在flow xml中添加以下内容:
<view-state id="viewname" view="flowRedirect:appName?#{flowScope.jobId}因此,当您转换到此视图状态时,它会使用您想要的请求参数将url重定向回服务器。但是这会再次影响到web和服务器,我希望请求只停留在服务器端
https://stackoverflow.com/questions/18445851
复制相似问题