我正在使用spring web-flow 2.0,我需要将一个变量从子流返回到父流,如:
<end-state id="end" >
<output name="mvViewBean" value="viewBean" />
</end-state>
Run Code Online (Sandbox Code Playgroud)
并在我的父流程中使用它,如:
<subflow-state id="updateSubflowState" subflow="mv-update" >
<on-exit>
<evaluate expression="mvService.onblabla(mvViewBean)" />
</on-exit>
</subflow-state>
Run Code Online (Sandbox Code Playgroud)
我是否需要定义变量定义或其他内容?
我试图使用Maven来构建我的Spring 3项目,该项目在Maven之前可以正常工作,但是却出现此错误:
Sep 13, 2012 11:24:50 AM org.springframework.web.context.ContextLoader initWebApplicationContext
SEVERE: Context initialization failed
java.lang.NoClassDefFoundError: org/springframework/web/bind/support/WebDataBinderFactory
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2444)
at java.lang.Class.getDeclaredMethods(Class.java:1808)
at org.springframework.core.type.StandardAnnotationMetadata.hasAnnotatedMethods(StandardAnnotationMetadata.java:159)
at org.springframework.context.annotation.ConfigurationClassUtils.isLiteConfigurationCandidate(ConfigurationClassUtils.java:106)
at org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate(ConfigurationClassUtils.java:87)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:233)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:203)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:617)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:446)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: org.springframework.web.bind.support.WebDataBinderFactory
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at …Run Code Online (Sandbox Code Playgroud) Spring Web Flow Action-State控制器应该返回什么?看看下面我的流程我有一个动作状态,基于对控制器的调用我可以去4个差异路径..
我不知道我必须在控制器中做出哪些更改才能传回去哪里.
以下是我的流程:
<action-state id="checkStatus">
<evaluate expression="flowControllerActions.checkStatus(member)" />
<transition on="NoSSN" to="NoSSN"/>
<transition on="MemberExists" to="endStateMemberExists" />
<transition on="IsDeceased" to="endStateMemberDeceased" />
<transition on="OK" to="address" />
</action-state>
Run Code Online (Sandbox Code Playgroud)
这是我在控制器中的方法.有人可以请告诉我该做些什么来使tranistions工作:
public String checkStatus(Member member) {
LOGGER.debug("[" + member.toString() + "]");
//
// HOW DO I RETURN??
//
}
Run Code Online (Sandbox Code Playgroud) 在Spring 3.2项目中,我正在引导一个具有注入属性的服务bean.使用属性文件中的@Required @Value(...)注入该属性.我确信属性文件可以通过spring上下文很好地识别出来.
请查看以下服务等级:
@Service
public class SomeService {
private String aURIString;
@Required
@Value("${someUrl}")
public void setaURIString(String aURIString) {
this.aURIString = aURIString;
}
private URI oamURI;
public SomeService() throws Exception {
super();
try {
oamURI = new URI(aURIString);
} catch (URISyntaxException e) {
throw new Exception("URISyntaxException created while creating a URI instance for url= "+aURIString);
}
}
}
Run Code Online (Sandbox Code Playgroud)
另请参阅下面的配置类
@Configuration
@EnableWebMvc
@PropertySource({ "classpath:filter.properties" })
@ComponentScan(basePackages = { "com.someOrg.SomePrj" })
public class WebConfig extends WebMvcConfigurerAdapter {
@Bean
public static PropertySourcesPlaceholderConfigurer properties() …Run Code Online (Sandbox Code Playgroud) 我正在使用Spring Framework 4.1.5,Spring Security 4.0.0.RC2,Spring Webflow 2.4.0.RELEASE和Tomcat 8.0.15.
我按照webflow 文档中的示例进行操作,但是我无法在表单bean中获取该文件.
表格
<form:form action="${flowExecutionUrl}" method="post" commandName="fileForm" enctype="multipart/form-data">
<form:input type="file" value="" path="multipartFileUpload"/>
<button type="submit" name="_eventId_forward"><spring:message code="signup.forward"/></button>
<sec:csrfInput/>
</form:form>
Run Code Online (Sandbox Code Playgroud)
表单bean
public class FileForm implements Serializable {
private static final long serialVersionUID = 1L;
private transient MultipartFile multipartFileUpload;
public MultipartFile getMultipartFileUpload() {
return multipartFileUpload;
}
public void setMultipartFileUpload(final MultipartFile multipartFileUpload) {
this.multipartFileUpload = multipartFileUpload;
}
}
Run Code Online (Sandbox Code Playgroud)
流动
<view-state id="companyLogo" view="signup/company-logo" model="fileForm">
<var name="fileForm" class="it.openex.pmcommonw.form.FileForm"/>
<transition on="back" to="chooseProfile" bind="false" validate="false"/>
<transition on="forward" to="companyInfo">
<evaluate …Run Code Online (Sandbox Code Playgroud) Spring Web Flow ...如何仅在一次转换时停止表单验证.
如何仅在一个转换上停止表单验证.使用以下代码我打开表单验证,一切都运行良好,但如果用户单击"取消"我不想运行表单验证.不管怎么说?
<view-state id="helloworld" view="input.jsp" model="customer" popup="true">
<transition on="submit" to="preview" />
<transition on="cancel" to="thanks"/>
</view-state>
Run Code Online (Sandbox Code Playgroud)