问题标签 [spring-webflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
19431 浏览

authentication - Spring Security:绕过登录表单

我想在某些场景下绕过 Spring webflow (Spring 2.0.5) 应用程序的登录表单(因此登录表单是为普通用户提供的,但是当 URL 类似于http://server.com/myspringapp/fakelogin?username =FakeUser&password=FakePassword 则不应向用户显示登录表单,而应根据请求参数在内部进行身份验证,然后将其带到安全页面)。

所以我不想要预认证,而是在特殊情况下进行透明认证(当 URL 如上所述时)。我看到了诸如http://forum.springsource.org/showthread.php?t=59108之类的线程,但没有提到解决方案。我尝试实现 AuthenticationProcessingFilter 但不太确定如何实现 requiresAuthentication() 方法。

以下是我当前的安全 XML:

以下是我的过滤器类:

我能够使用提供的请求参数进行身份验证,并且成功创建了 Authentication 对象。一旦过滤器继续前进,我就会得到异常:

你能帮我解释为什么我会收到这个错误吗?我是否使用了正确类型的自定义过滤器?感谢你的帮助。

0 投票
1 回答
5896 浏览

spring-webflow - Spring Webflow 2.0 - 与另一个流通信

我有一个取消按钮,应该让用户回到起始页。取消按钮在流程 createXYZ.xml 中,起始页是流程 start.xml 中的视图状态我如何从一个流程链接到另一个流程。

开始:

取消按钮:

0 投票
1 回答
670 浏览

spring -

我将 JSF 与 RichFaces 和 Spring Webflow 一起使用。我正在尝试使用从数据表中选择行并在服务器端对所选行执行一些操作。我如何从复选框中检索数据时遇到问题。

并使用提交值

但是,地图中只恢复了 ID,默认情况下,地图中所有 ID 的值都显示为“false”。

如何让选中的复选框在地图中标记为 true。

我已经参考了链接文本以获取信息。

我该如何解决这个问题?

谢谢, 阿卜杜勒


您需要确保在后续请求中保留相同的数据模型。数据表的value属性必须在表单提交期间返回与显示期间完全相同的数据模型。如果数据模型不存在或不同,那么很可能所选项目的地图不会像您期望的那样被填充。


根据评论更新:您还需要确保表格和提交按钮在同一个 <h:form>.

0 投票
1 回答
722 浏览

java - 为什么我的网页在 Spring WebFlow 重定向后过期?

我正在使用 Spring WebFlow 2。这是我的情况。

视图状态:state1state2

转换:如果验证通过state1则转到state2

state2 使用以下内容弹出一个新窗口:

弹出窗口后,我希望能够在 state1 继续我的业务。正常流量似乎没有问题。

但这是事情变糟的时候。

  1. 我在state1。有一张表格要填。
  2. 我填写了表格,但没有通过验证。
  3. 我再次填写表格。
  4. 我得到state2它只是弹出一个带有源代码中设置的 URL 的新窗口。
  5. 现有窗口返回到窗体。
  6. 我再次填写表格,提交。
  7. IE 说网页已过期。

谁能告诉我发生了什么?这是弹出窗口的正确方法吗?谢谢。

0 投票
2 回答
850 浏览

grails - webflow in grails application

how can i redirect to the same state more than one time using web flow ex:

what i need is how to enter to this state more than one time until destinations ends thx

0 投票
1 回答
5701 浏览

jsf - 在嵌套数据表中访问“selectedRow”时出现问题

我一直在玩 spring web flow 酒店预订应用程序,并对其进行了一些扩展,以尝试更好地理解 spring web flow 和 JSF 如何集成在一起。spring 文档在这方面并不是那么好,我的印象是,在你改变它们之前,事情是有效的,然后没有明确的文档描述它是如何工作的,所以你不知道你是如何破坏它的。

无论如何,希望您熟悉 spring web flow 酒店预订示例应用程序。如果不是,则主流程接受搜索条件并返回酒店列表,然后可以选择酒店,然后显示其信息。我正在尝试扩展它,以便当您查看酒店时,您可以查看有关各个酒店房间的信息。

这是流程的代码:

当您选择酒店时,它会调用定价服务。这是该视图:

然后 displayPriceBreakdown 视图显示当您单击酒店价格时价格是如何计算的。这是视图配置:

显示酒店详细信息及其房间的 reviewHotel.xhtml 如下所示:

重要的是用于显示酒店房间的数据表:

房间信息正确显示,但是当用户点击价格时,我想显示所选特定房间的价格明细列表。这就是我希望通过以下方式实现的目标:

但是,当我运行时,我得到了 selectedRow 的 NumberFormatException。

类型异常报告

信息

描述 服务器遇到一个内部错误 () 阻止它完成这个请求。

例外

org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是 org.springframework.webflow.execution.ActionExecutionException: 异常抛出执行 [AnnotatedAction@34f67 targetAction = [SetAction@4db694 name = flowScope.room, value = flowScope.hotel.rooms.selectedRow, type = [null]], attributes = map[[empty]]] in state 'reviewHotel' of flow 'main' -- 动作执行属性是 'map[[empty]]' org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:583) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.springframework.web.filter.CharacterEncodingFilter。

org.springframework.webflow.execution.ActionExecutionException: 异常抛出执行 [AnnotatedAction@34f67 targetAction = [SetAction@4db694 name = flowScope.room, value = flowScope.hotel.rooms.selectedRow, type = [null]], attributes = map[ [empty]]] 处于流 'main' 的状态 'reviewHotel' - 动作执行属性是 'map[[empty]]' org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:60) org.springframework .webflow.engine.support.ActionTransitionCriteria.test(ActionTransitionCriteria.java:82) org.springframework.webflow.engine.support.TransitionCriteriaChain.test(TransitionCriteriaChain.java:71) org.springframework.webflow.engine.Transition.canExecute(Transition .java:195) org.springframework.webflow.engine.Transition.execute(Transition.java:211) 组织。springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:391) org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) org.springframework.webflow.engine.TransitionableState.handleEvent( TransitionableState.java:119) org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555) org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:386) org.springframework.webflow。 engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:230) org.springframework.webflow.engine.ViewState.resume(ViewState.java:196) org.springframework.webflow.engine.Flow.resume(Flow.java:545) org.springframework.webflow.engine。impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259) org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:163) org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet. java:571) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServlet. java:717) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 根本原因

java.lang.NumberFormatException:对于输入字符串:“selectedRow” java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) java.lang.Integer.parseInt(Integer.java:449) java.lang.Integer.parseInt(Integer .java:499) javax.el.ListELResolver.coerce(ListELResolver.java:166) javax.el.ListELResolver.getValue(ListELResolver.java:51) javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54) org.springframework .binding.expression.el.DefaultELResolver.getValue(DefaultELResolver.java:80) org.jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53) org.jboss.el.parser.AstValue.getValue(AstValue.java :67) org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186) org.springframework.binding.expression.el.BindingValueExpression。getValue(BindingValueExpression.java:54) org.springframework.binding.expression.el.E​​LExpression.getValue(ELExpression.java:54) org.springframework.webflow.action.SetAction.doExecute(SetAction.java:75) org.springframework。 webflow.action.AbstractAction.execute(AbstractAction.java:188) org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145) org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) org.springframework.webflow.engine.support.ActionTransitionCriteria.test(ActionTransitionCriteria.java:82) org.springframework.webflow.engine.support.TransitionCriteriaChain.test(TransitionCriteriaChain.java:71) org.springframework.webflow.engine.Transition. canExecute(Transition.java:195) org.springframework.webflow.engine.Transition.execute(Transition.java:211) org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:391) org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) org.springframework.webflow.engine。 TransitionableState.handleEvent(TransitionableState.java:119) org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555) org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:386) org. springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:230) org.springframework.webflow.engine.ViewState.resume(ViewState. java:196) org.springframework.webflow.engine.Flow.resume(Flow.java:545) org.springframework。webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259) org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:163) org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter. java:183) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) org.springframework.web.servlet.FrameworkServlet。 processRequest(FrameworkServlet.java:571) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet。服务(HttpServlet.java:717)org.springframework.web.filter.CharacterEncodingFilter。doFilterInternal(CharacterEncodingFilter.java:96) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

我应该如何将 HotelRoom 对象传递到 displayPriceBreakdown 片段中?

非常感谢您已经走到了这一步并且正在阅读和理解这一点!我试图尽可能彻底,但是如果需要更多信息,请告诉我。

哦,是的,Hotel 作为一个名为 rooms 的变量,它是一个 List 并具有 getRooms : List 和 setRooms(List rooms) 方法。

0 投票
1 回答
1456 浏览

spring - Jasig CAS webflow 的问题

我的 pom 中有 CAS 3.4.3。从 Jasig CAS zip 我包括所有配置,包括 login-webflow.xml

当我使用 CAS 源构建应用程序时,相同的配置对我有用。目前我得到一个例外:

有没有人遇到过这种错误?它发生在 InternalSpelExpressionParser 评估 flowScope.ticketGrantingTicketId neq null

这个示例 login-webflow.xml 是否正确?我查看了几个参考资料,但没有找到关于表达式“neq”的任何内容......

我的 login-webflow.xml 与此处找到的完全相同

0 投票
1 回答
4333 浏览

grails - 如何伪造验证错误?

我正在使用Grails Webflow插件。以下是我正在使用的域对象:

在 webflow 中,我需要确保 fooObject.fooProp1 不为空。如果是,我想抛出一个错误并强制用户为其提供一个值。我尝试使用 validate() 来执行此操作(在 Bar 和 Foo 对象上),但是由于 fooProp1 具有 nullable:true 属性,因此它通过了验证。有任何想法吗?

0 投票
1 回答
1506 浏览

java - 当验证失败时,如何让 WebFlow 中止转换并仅查看上一页?

我有一个 Spring WebFlow 应用程序,导致我白发苍苍。如果验证成功,我想要完成的是简单地显示具有不同数据的相同视图。这行得通。但是,当输入无效数据时,我想显示以前的视图,但预先填充了错误值,并且错误消息告诉我的用户如何修复上述错误。但是,无论验证是否成功,应用程序仍然会在on-render. 由于这些值无效,它会使我的应用程序崩溃。on-render只有在验证成功时我才能做这些事情?

我的视图状态配置看起来有点像这样:

我的验证器如下所示:

}

0 投票
2 回答
1373 浏览

spring - 无法找到元素“流”的 Spring NamespaceHandler

我正在使用 SpringSource Tool Suite 开发一个 spring webflow (2.0.7) 项目。我正在尝试设置基本流程。

我的 someflow.xml 看起来像这样:

在 STS 工具(Eclipse 上的 Spring IDE)上,我在流 schemaLocation 附近看到一条警告消息:

无法找到架构命名空间“http://www.springframework.org/schema/webflow”的元素“流”的 Spring NamespaceHandler

然后当tomcat启动时,我得到了错误

org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:无法找到 XML 模式命名空间的 Spring NamespaceHandler [ http://www.springframework.org/schema/webflow] 违规资源:ServletContext 资源 [/WEB-INF/流/someflow.xml]

  • 我用谷歌搜索了一段时间,一些帖子表明问题是 spring-webflow jar 不在类路径中。在我的例子中,springsource 工具创建了模板并且所有的 jars 都准备好了。我也手动检查了它们。所以这不是问题

  • 这篇文章http://forum.springsource.org/archive/index.php/t-49098.html中的建议之一是拼接 jar!这不可能是一个解决方案,但我试图看看它是否能解决它。但不是。

现在卡住了..还有其他人面临这个问题吗?