我有一个主流,它是index.jsp的链接,index.jsp是链接到子流的测试应用程序的入口点。主流是main-flow.xml,并使用class =“org.springframework.webflow.mvc.servlet.FlowController”映射到bean声明中的main.htm。
在主流程视图中有链接 Systeme suchen
链接到子流。
在子流程中我有这个:
<?xml version="1.0" encoding="UTF-8"?>
<flow xmlns="http://www.springframework.org/schema/webflow"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns0="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="Search">
<view-state id="Search" view="/Search" >
<transition on="proceed" to="temp" />
<transition on="cancel" to="SubEnd" />
</view-state>
<view-state id="temp" view="/End" />
<view-state id="SubEnde" view="/Start" />
</flow>
搜索视图现在不包含任何逻辑,只包含链接和按钮。 End.jsp的JSP只包含一些传说中的ipsum静态内容,而Start与主流使用的视图相同。
Search.jsp链接和按钮:
这有效:
<a href="main.htm?_flowExecutionKey=${flowExecutionKey}&_eventId=proceed">
<span>Proceed Link</span></a>
这不会,只显示“描述所请求的资源不可用”。网站:
<a href="${flowExecutionKey}&_eventId=proceed">
<span>Proceed Link 2</span></a>
<a href=_eventId=proceed">
<span>Proceed Link 3</span></a>
按钮只是没有做任何事情:
<input type="submit" value="Proceeding" name="_eventId_proceed" id="eventId_proceedButton1">
这里出了什么问题?我在互联网上看到了许多这样的按钮示例。我错过了按钮的配置或什么?
答案 0 :(得分:0)
如果您使用的是按钮,则需要通过jquery或javascript来完成。点击按钮时的操作如下:
document.getElementById('<yourFormName>').action = '${flowExecutionUrl}&_eventId=<yourEventID>';
document.getElementById('<yourFormName>').submit();
这可能会对你有帮助。
答案 1 :(得分:0)
你应该添加隐藏字段来保存SnapShot变量(意味着localhost:8080 / yourappcontext / yourpage?execution = e1s1 )。在上面的网址 e1s1 是SnapShot变量的值。所以在你的情况下:
<input type="hidden" name="_flowExecutionKey" value="${flowExecutionKey}"/>
<input type="submit" value="Proceeding" name="_eventId_proceed"/>
但两个标签都应保留在表格标签中。