标签: spring-webflow

验证表单是否已更改

我正在编写一个验证器,需要测试弹簧形式对象是否已更改.

在验证程序中,如果未对表单进行任何更改,则应显示错误.

有弹簧机制吗?

这是因为我提交时会进行非常昂贵的Web服务更新调用,如果没有进行任何更改,我需要阻止进行webservice调用.

干杯.

java spring spring-webflow

8
推荐指数
1
解决办法
1770
查看次数

Ajax + Spring Webflow

首先,我使用spring webflow和一些spring javascript来简化ajax调用.

截至目前,我正在让ajax调用webflow来显示相应的片段.

所以我试图使用Spring.AjaxEventDecoration来满足我的应用程序的ajax需求.但是,我在使用这种方法和Webflow时遇到了一些麻烦,而且据我所知,可用的例子非常少.

另外,我没有使用表格或选择框.我想我会提到这个,因为我发现的每个例子都使用带有onlick事件的表单/表单提交或带有onchange事件的选择框.

主要问题:如果我的webflow中有一个方法来自我的ajax,我是否可以将参数从ajax传递到webflow?

码:

<transition on="disassociateProperty" >
     <evaluate expression="dService.disassociateProperty(requestParameters.currentPId ,currentD)"  result="flowScope.currentD" />
<render fragments="PList" />
</transition>
Run Code Online (Sandbox Code Playgroud)

所以,当我在firebug中查看ajax调用时,它具有我传入的参数(currentPId)和正确的eventId.

我在disassociateProperty方法的第一行放了一个调试点,它告诉我currentPId为null.

所以我假设webflow中的requestParameters.currentPId没有从ajax调用中提取currentPId.

这是预期的吗?任何人都可以解释并举例说明吗?

我将不胜感激任何帮助.

亚当

ajax spring-webflow

8
推荐指数
1
解决办法
9865
查看次数

单元测试嵌套子流(子流的子流)

我正在尝试为具有子流的流编写单元测试,该子流本身具有另一个子流.

我使用注册第一流程 FlowDefinitionResource getResource(FlowDefinitionResourceFactory resourceFactory).

然后我FlowDefinitionRegistry在转换到它们之前在测试执行期间注册子流定义.

转换到"第一级"子流程就可以了.转换到当前子流的子流的结果 - NoSuchFlowDefinitionException.

问题是子流定义似乎都附加到测试的主要流程,并且在另一个子流程中找不到子流程.

有没有办法将子流定义附加到测试中的另一个子流,哪些扩展AbstractXmlFlowExecutionTests

java junit unit-testing spring-webflow spring-webflow-2

7
推荐指数
1
解决办法
1395
查看次数

如何在web.xml中定义常规/后备错误页面

我的Java Web应用程序当前将某些错误代码映射到错误servlet(实际上是弹簧Web流程,但这应该是除此之外的),通过在web.xml中执行此操作:

<error-page>
    <error-code>500</error-code>
    <location>/spring/error?error=500</location>
</error-page>
<error-page>
    <error-code>404</error-code>
    <location>/spring/error?error=404</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)

但是,在某些情况下,服务器仍会崩溃,并为用户提供一些例外的堆栈跟踪转储.(在IBM WebSphere btw上运行).我的问题是; 是否可以定义一个后备错误页面,如果所有其他错误都不匹配将使用该页面?因此,我们保证在任何情况下都不会以堆栈跟踪结束.

java web.xml java-ee spring-webflow

7
推荐指数
1
解决办法
6981
查看次数

是否有可视化grails webflow的工具?

当我正在编写我的第一个grails webflow时,我问自己是否有任何工具或脚本可以使流程可视化?

结果可以是状态图或某些数据,以便在graphviz等图形工具中呈现.

grails visualization spring-webflow

7
推荐指数
2
解决办法
715
查看次数

如何在登录屏幕上重定向Spring安全性并发会话控制"消息"?

我有web应用程序,其中我使用了Spring框架.对于并发会话控制,我使用spring功能,一旦用户登录到另一个会话,将只为1个用户维护1个登录会话,他/她之前的会话将过期.

现在,在这种情况下,我收到此消息" 此会话已过期(可能是由于多个并发登录尝试作为同一用户). "

但我在浏览器的完整白页上收到此消息.我希望此消息仅在我的登录屏幕上显示.

这是我的spring security xml的一部分,我处理了用户的并发会话.

<security:session-management invalid-session-url="/login.jsp?error=sessionExpired" session-authentication-error-url="/login.jsp?error=alreadyLogin">
                    <security:concurrency-control max-sessions="1" error-if-maximum-exceeded="false" />
</security:session-management>
Run Code Online (Sandbox Code Playgroud)

任何专门用于自定义此消息并在所需Web应用程序页面上重定向此消息的链接将不胜感激.

提前致谢.

java spring spring-security java-ee spring-webflow

7
推荐指数
1
解决办法
1万
查看次数

Primefaces:从p:dataTable中的行选择中排除列

我遇到了问题p:dataTable并排除了单行选择中的列.

我的dataTable中有4列.显示fileId,fileName和uploadDate需要前3个.在第4列中,每行都有一个命令按钮,用于启动文件处理操作.但是也有行选择(在事件上使用ajax操作)导航到文件详细信息页面.现在,当我点击行上的任何位置(包括按钮)时,它会导航到详细信息页面.

这是我目前的代码:

<h:form>
    <p:dataTable id="billingFiles" value="#{billingFiles}"
        var="billingFile"
        rowKey="#{billingFile.billingFile.idBillingFile}"
        filteredValue="#{billingService.filteredBillingFileDataModels}"
        selectionMode="single" paginator="true" rows="10">

        <p:ajax event="rowSelect" listener="#{billingService.selectBillingFileRow}" />

        <p:column sortBy="#{billingFile.id}"
            filterBy="#{billingFile.id}" id="idFile"
            headerText="#{msg['billing.file.id']}"
            filterMatchMode="contains">
            <h:outputText value="#{billingFile.id}" />
        </p:column>

        <p:column sortBy="#{billingFile.uploadDate}"
            filterBy="#{billingFile.uploadDate}" id="uploadDate"
            headerText="#{msg['billing.file.upload_date']}"
            filterMatchMode="contains">
            <h:outputText value="#{billingFile.uploadDate}" />
        </p:column>

        <p:column sortBy="#{billingFile.fileName}"
            filterBy="#{billingFile.fileName}" id="fileName"
            headerText="#{msg['billing.file.file_name']}"
            filterMatchMode="contains">
            <h:outputText value="#{billingFile.fileName}" />
        </p:column>

        <p:column id="loadBillingFile">
            <p:commandButton id="loadBillingFileButton"
                rendered="#{billingFile.fileStatus.equals('UPLOADED')}"
                value="#{msg['billing.load_billing_file']}"
                action="#{billingService.loadBillingFile(billingFile.billingFile)}"
                update=":form" />
        </p:column>
    </p:dataTable>
</h:form>
Run Code Online (Sandbox Code Playgroud)

并且有导航到文件详细信息页面的方法:

public void selectBillingFileRow(SelectEvent event) {
    BillingFileDataModel billingFileDataModel = (BillingFileDataModel) event.getObject();
    if (billingFileDataModel != null) {
        selectedBillingFile = billingFileDAO.findBillingFileById(billingFileDataModel.getBillingFile().getIdBillingFile()); …
Run Code Online (Sandbox Code Playgroud)

datatable jsf spring-webflow primefaces

7
推荐指数
1
解决办法
2839
查看次数

不区分大小写的查询字符串请求参数

我的目标是以下所有URI都应该有效

https://开头休息/ XYZ?sort = name

https://开头休息/ XYZ?排序 =名称

https://开头休息/ XYZ?filter = name = value

https://开头休息/ XYZ?Filter = name = value

为此,我创建了自定义过滤器来覆盖传递给FilterChain的HttpServletRequest.以下是此方法的链接:

http://forum.springsource.org/archive/index.php/t-87433.html

我的代码:

import java.io.IOException;
import java.util.Map;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper; 

public class HttpCustomParamFilter implements Filter
{
    private static class HttpServletRequestCustomeWrapper extends HttpServletRequestWrapper
    {
        private String[] parameterValues;

        @Override
        public String[] getParameterValues(String name)
        {
            Map<String, String[]> localParameterMap = super.getParameterMap();

            // Handle case insensitivity of http …
Run Code Online (Sandbox Code Playgroud)

java rest spring spring-mvc spring-webflow

7
推荐指数
1
解决办法
8357
查看次数

使用Spring WebFlow的Apache Tiles通配符

Apache Tiles 2.1.3具有通配符功能,其中tile定义包含星号:

<definition name="flow/*" extends=".mainTemplate">
    <put-attribute name="header" value="/WEB-INF/jsp/header.jsp"  />
    <put-attribute name="body" value="/WEB-INF/jsp/flow/{1}.jsp"  />
</definition>
Run Code Online (Sandbox Code Playgroud)

这里解释,但基本上这个布局用于"flow"目录中的任何JSP.

问题是Spring Webflow用Tiles产生了无限递归:

org.springframework.webflow.execution.FlowExecutionException: Exception thrown in state 'createAccount' of flow 'jsp/flow'
Caused by: java.lang.IllegalStateException: Exception occurred rendering view null
Caused by: java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)

我最终插入了许多单独的Tiles定义,而不是一个通配符定义(在这里插入frowny face).

Tiles通配符如何与Spring WebFlow一起使用?

java jsp tiles spring-webflow

7
推荐指数
1
解决办法
1231
查看次数

Google Campaign使用Spring Web流程进行跟踪

我正在为我的一个客户端使用Spring Web Flow,默认情况下,为网站启用了Post-Redirect-Get(PRG)配置.客户现在希望启用Google广告系列,以便他们跟踪他们发布的广告系列.但是,由于PRG配置,重定向期间信息丢失.我们已经尝试关闭PRG配置,但它会导致其他流程出现问题.是否有任何针对Spring Web流程建议的解决方案来跟踪Google广告系列.

提前致谢.

PS:我们目前正在使用spring-webflow-2.0.9和spring MVC 2.5.6

spring google-analytics spring-webflow

6
推荐指数
1
解决办法
552
查看次数