标签: spring-webflow

Spring Webflow是否适合异步.流?

通过研究参考应用程序和阅读手册,我对Spring WebFlow 2.1的第一印象.在进一步讨论之前,我想问一下这个社区的印象.

实际上,我计划我的网站只包含一个网页.应该通过异步更新所有内容(登录/注销,添加元素等).通讯.然而,我对Spring WebFlow的第一印象是它粘合了连续网页的流,而不是它们的片段.

因此,有两个问题:

  • 有人会推荐Spring WebFlow这样的页面吗?
  • Spring MVC能够实现这样的策略吗?

提前致谢

java ajax spring spring-mvc spring-webflow

2
推荐指数
1
解决办法
1834
查看次数

如何从JSF/Webflow应用程序提供二进制内容?

我有一个需要提供二进制内容(图像)的JSF 1.2/Spring Web flow 2.0.7应用程序.此内容作为Base64编码的字符串从Web服务(以及其他一些数据)中获取,并最终在bean中与其余数据一起结束.如何在我的网页上显示图像?

注意:不,没有办法让Web服务直接传输数据,甚至没有其他所有东西从Web服务中获取二进制数据.

java streaming jsf spring-webflow

2
推荐指数
1
解决办法
5292
查看次数

MVC控制器和Web流量控制器 - 请求处理优先级

我正在将Spring Web Flow集成到Spring MVC Web应用程序中.

我将Spring映射DispatcherServlet*.html下面.

<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

我已经注册了简单的流(/WEB-INF/flows/simple/simple-flow.xml,/WEB-INF/flows/simple/simple.jsp),simple根据配置获取id.

<webflow:flow-registry id="flowRegistry" base-path="/WEB-INF/flows">
    <webflow:flow-location-pattern value="/**/*-flow.xml" />
</webflow:flow-registry>    
Run Code Online (Sandbox Code Playgroud)

我将/simple.html(/WEB-INF/pages/simple.jsp)映射到我的MVC控制器.

@Controller
public class SimpleController {

    @RequestMapping("/simple.html")
    public String simpleHandler(Model model) {
        return "simple";                    
    }
}
Run Code Online (Sandbox Code Playgroud)

当我请求时simple.html,SimpleController获取该请求,但是当我删除到该控制器的映射时,simple.html会导致simple流动.我看到MVC控制器具有更高的优先级并在它到达流量控制器之前得到请求.其结果是什么?在那种情况下它是如何工作的?我可以更改普通MVC控制器和Web Flow控制器的请求处理顺序/优先级吗?

spring-mvc spring-webflow

2
推荐指数
1
解决办法
4307
查看次数

Spring WebFlow:如何在JSP中获取请求参数?

我正在使用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)

jsp spring-webflow

2
推荐指数
1
解决办法
7552
查看次数

对于与spring一起使用的丰富框架感到困惑

我的要求是快速,轻松地开发丰富的Web应用程序,并且框架必须易于/兼容像IceFaces这样的Spring

我对IceFaces/PrimeFaces感到困惑,或者使用带有YUI/DWR的jsp

请建议我.

spring rich-internet-application spring-mvc java-ee spring-webflow

2
推荐指数
1
解决办法
252
查看次数

如何使用@Configuration配置Spring Webflow 2.3.1?

通常,Spring webflow配置从application-context.xml以下位置导入:

<?xml version="1.0" encoding="UTF-8"?>
<beans .../>

    ....

    <import resource="config/webflow-config.xml" />

</beans>
Run Code Online (Sandbox Code Playgroud)

但是在3.1版本中,可以从Java执行所有配置@Configuration并摆脱它application-context.xml.

我的网络配置有以下内容:

@Configuration
@Import({ MyConfig1.class, MyConfig2.class })
public class WebConfig extends WebMvcConfigurerAdapter {

    ...

}
Run Code Online (Sandbox Code Playgroud)

是否有可能摆脱webflow-config.xml使用@Configuration?如果有,怎么样?如果不是,如何让我的网络配置包括在内webflow-config.xml

java configuration spring annotations spring-webflow

2
推荐指数
1
解决办法
1733
查看次数

为什么我会收到Log4J 1.2.17的警告?

为什么我会收到Log4J 1.2.17的警告?我试图在我的java项目中使用log4j,但我一直收到以下警告.有谁能告诉我为什么?

警告:

log4j:WARN Continuable parsing error 2 and column 87
log4j:WARN Document root element "log4j:configuration", must match DOCTYPE root "null".
log4j:WARN Continuable parsing error 2 and column 87
log4j:WARN Document is invalid: no grammar found.
Run Code Online (Sandbox Code Playgroud)

我的log4j.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration xmlns:log4j = "http://jakarta.apache.org/log4j/" debug = "false">
    <appender name = "FILE" class = "org.apache.log4j.RollingFileAppender">
        <param name = "File" value = "test.log"/>
        <param name = "MaxFileSize" value = "5MB"/>
        <param name = "MaxBackupIndex" value = "50"/>
        <layout class = "org.apache.log4j.PatternLayout">
            <param …
Run Code Online (Sandbox Code Playgroud)

java spring log4j spring-webflow

2
推荐指数
1
解决办法
6223
查看次数

如何在FlowScope中获得变量?

在我的Spring Web流程中,我有一个FlowScope名为"action" 的变量,我想在验证方法中检查这个变量;

\\\\\\
    if(action=="copy"){
    doCopy;
    }else{
    doOther;
    } 
\\\\\\\
Run Code Online (Sandbox Code Playgroud)

但我不知道如何调用"动作"变量.请帮我.

spring-webflow

2
推荐指数
1
解决办法
2908
查看次数

获取错误缺少运行时依赖项:java.lang.NoClassDefFoundError:org/apache/commons/fileupload/FileItem

我正在尝试设置Maven,JSF和Primefaces项目.但是,当我运行该项目时,我得到以下错误

com.sun.faces.config.ConfigurationException: 
Source Document: jar:file:/D:/Personal%20Work/eclipse%2032%20Bit/workspace/Java%20EE
/Spring/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
/ch18_SpringWebFlowAndJSF/WEB-INF/lib/primefaces-3.5.jar!/META-INF/faces-config.xml
Cause: Class 'org.primefaces.component.fileupload.FileUploadRenderer' is missing
 a runtime dependency: java.lang.NoClassDefFoundError: org/apache/commons/fileupload
/FileItem
Run Code Online (Sandbox Code Playgroud)

这是我的POM片段

<properties>
    <java-version>1.6</java-version>
    <org.springframework-version>3.2.3.RELEASE</org.springframework-version>
    <org.aspectj-version>1.6.10</org.aspectj-version>
    <org.slf4j-version>1.7.5</org.slf4j-version>
    <jsf-version>2.2.0</jsf-version>
</properties>

    <dependency>
        <groupId>org.springframework.webflow</groupId>
        <artifactId>spring-faces</artifactId>
        <version>2.3.2.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>${jsf-version}</version>
    </dependency>

    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>${jsf-version}</version>
    </dependency>

    <dependency>
        <groupId>org.primefaces</groupId>
        <artifactId>primefaces</artifactId>
        <version>3.5</version>
    </dependency>
</dependencies>

<repositories>
    <repository>  
        <id>prime-repo</id>  
        <name>PrimeFaces Maven Repository</name>  
        <url>http://repository.primefaces.org</url>  
        <layout>default</layout>  
    </repository>     
</repositories> 
Run Code Online (Sandbox Code Playgroud)

为什么我收到此错误?

谢谢

spring-webflow maven-3 primefaces jsf-2

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

Spring WebFlow:view-state不在<evaluate>标记之前调用验证方法

这个问题让我抓狂.

我有以下视图状态:

 <on-start>
    <evaluate expression="new com.zxxztech.zecure.services.webflow.FormularioConfirmacionCorreo()"
        result="flowScope.ccForm" />
 </on-start>

<view-state id="activacionManual" model="ccForm" >
    <transition on="enviar" to="resultado" bind="true">
        <evaluate expression="usersManager.activarUsuario(ccForm.correo, ccForm.codigo)"
            result="flowScope.resultado" />  
    </transition>
    <transition on="cancelar" to="cancelar" validate="false" bind="false" />
</view-state>
Run Code Online (Sandbox Code Playgroud)

这就是Validation类:

@Component
public class FormularioConfirmacionCorreoValidator {


 @Autowired
 private UsersManager usersManager;

 public void validateActivacionManual(FormularioConfirmacionCorreo ccForm, ValidationContext validContext) {
         ...
         [Validation logic]

}

  public UsersManager getUsersManager() {
    return usersManager; 
  }

 public void setUsersManager(UsersManager usersManager) {
       this.usersManager = usersManager;
 }
}
Run Code Online (Sandbox Code Playgroud)

当表单被提交时,webflow直接执行<evaluate>标记,而不调用验证方法.

我不知道我能做错什么.

编辑:

这是activacionManual.jsp文件:

              ...
              <form:form cssClass="ym-form" modelAttribute="ccf" method="post" action="${flowExecutionUrl}"> …
Run Code Online (Sandbox Code Playgroud)

validation spring spring-webflow

2
推荐指数
1
解决办法
4724
查看次数