是否可以在spring webflow视图中使用请求参数?

时间:2012-06-19 08:00:49

标签: spring-mvc spring-webflow

我是Spring Webflow的新手,我正在迁移旧的Java MVC应用程序到Spring MVC + WebFlow。

我们旧的应用程序中的导航使用了这个/MyServlet?action=myAction&status=1这样的URL,我们需要在新的应用程序中保留它们。所以我们创建了一个Controller,用

控制对MyServlet的所有请求
@RequestMapping(value="/MyServlet", method = {RequestMethod.POST, RequestMethod.GET})

在这个控制器中,我们有旧的servlet代码执行动作。这个解决方案允许我们在Spring控件下使用旧代码。

现在我们想要使用WebFlow,但所有视图都用上面提到的URL表示,当我尝试创建流时,它似乎无效。我有以下错误:

  

对实体“行动”的引用必须以“;”结尾定界符

这是我的XML流文件:

<view-state id="idIn" view="/MyServlet?action=myAction&status=1">
    <transition on="list" to="idList" />
</view-state>

<view-state id="idList" view="/MyServlet?action=myAction&status=2">
    <transition on="new" to="idNew" />
</view-state>

<view-state id="idNew" view="/MyServlet?action=myAction&status=3">
    <transition on="out" to="idOut" />
</view-state>

<end-state id="idOut" view="/MyServlet">
</end-state>

是否可以在Spring WebFLow中使用带参数的URL?我怎么能这样做?

提前多多感谢。

2 个答案:

答案 0 :(得分:0)

Spring WebFlow有自己的URL结构,流中的所有状态共享整个流的单个URL。因此,您无法维护当前的URL结构并同时使用Spring WebFlow。

因此,流中的各个状态不能直接访问,即使你可以使用mod_rewrite之类的东西转换URL,你也会试图跳到流的中间,这不是Spring WebFlow的工作方式。 / p>

此外,view中的view-state应该是一个视图呈现技术,如JSP或Tile定义。它是对特定视图的内部引用,而不是外部用户可见的URL。

答案 1 :(得分:0)

The reference to entity "action" must end with the ';' delimiter

当写入字符&以传递URL中的参数时,会出现此错误。只需编写&amp;而不是该字符,错误就应该修复。

希望这有帮助。