gpt4 book ai didi

java - 在 Spring WebFlow 中转发请求

转载 作者:行者123 更新时间:2023-12-01 14:12:01 24 4
gpt4 key购买 nike

当前我的应用程序逻辑正在使用请求参数来执行逻辑。在我的新要求中,我还可以获得一个仅具有数据库键(数据库将具有值)作为请求参数的请求。我可以从数据库中获取数据,但问题是现在我现有的逻辑/流程将无法按照参数映射中的数据预期工作。

在 spring-mvc 中,我可以再次转发请求并将参数附加到请求

@Controller
public class TestController {
@RequestMapping(value="/test")
public String showTestPage() {
return "forward:/test2?param1=foo&param2=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 中转发。

最佳答案

更新:

抱歉,我问错了你的问题。

在 WebFlow 中,您有 View 状态,它可以转换到下一个状态。如果你想传递参数可以这样:

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

测试.jsp:

<a href="${flowExecutionUrl}&_eventId=toTest2&param1=foo&param2=bar" />

Java:

@Component
public class Test2Delegate {

public void doSomething(String param1, String param2) {

//doSomething
}
}

我建议阅读 Spring Web Flow Reference Guide

关于java - 在 Spring WebFlow 中转发请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18445851/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com