mar*_*osh 2 jsp spring-webflow
我正在使用Spring WebFlow和Spring MVC.当我请求页面例如http://localhost:8080/testapp/index.html?param=100WebFlow重定向http://localhost:8080/testapp/index.html?execution=e3s1并且无法进入paramjsp时,param丢失了某个地方.如何使这个工作?
这种情况的另一个例子 - Spring Security配置如下:
<security:form-login authentication-failure-url="/login.html?loginfail=1" login-page="/login.html" />
Run Code Online (Sandbox Code Playgroud)
登录失败时,我无法获取loginfail参数login.jsp.
<c:if test="${!empty param.loginfail}">Login error!</c:if>
Run Code Online (Sandbox Code Playgroud)
我可以访问流中的请求参数,但是......我是否必须为我的所有请求参数设置view/flowScope变量,如下所示?
<set name="viewScope.loginfail" value="requestParameters.loginfail" />
Run Code Online (Sandbox Code Playgroud)
要回答有关Spring WebFlow(SWF)和请求参数的一般性问题:
收到您的第一个请求(包括请求参数)后,Spring WebFlow正在向您的浏览器发送302重定向,这将强制另一个GET.此GET请求不包括您的原始请求参数.如您所述,您可以使用流逻辑中的requestParameters映射来访问这些参数.然后,您可以在viewScope或requestScope上设置请求参数,但您应该问自己为什么需要在JSP中获取这些请求参数.
您是否在视图层(JSP)中执行了逻辑,这应该真正在控制器层(Web流程)中执行?是否需要绑定到模型对象(在视图状态下使用模型属性)?
如果您只处理单个参数,那么您可以将其设置在视图或请求范围内.但是如果你有几个,也许你需要一个可以用作模型属性的命令对象.SWF将处理将参数绑定到此对象,并将此对象公开给您重定向到的视图.
更具体地说,关于Spring Security/login:
您可能正在尝试将登录页面实现为实际的Web流程...我将查看SWF文档,它有一个关于保护Webflow的简短章节.登录页面/进程不会被定义为流中的状态.
| 归档时间: |
|
| 查看次数: |
7552 次 |
| 最近记录: |