Java 子流调用在SpringWebFlow中不起作用
我正在SpringMVC中创建一个ShoppingCart应用程序Java 子流调用在SpringWebFlow中不起作用,java,spring,spring-mvc,spring-webflow-2,Java,Spring,Spring Mvc,Spring Webflow 2,我正在SpringMVC中创建一个ShoppingCart应用程序 注册流(流id=注册流) MailSender流(流id=mailFlow) 当用户注册数据成功输入数据库时,将触发邮件发送者流(子流) 我的父流是RegistrationFlow 请查找以下子流调用代码: <!-- other navigation rules of parent flow --> <subflow-state id="mailSenderFlow" subflow="mailFlow"&g
<!-- other navigation rules of parent flow -->
<subflow-state id="mailSenderFlow" subflow="mailFlow">
<input name="userEmail" value="flowScope.regBean.userDTO.userMail"/>
<transition on="finishMailFlow" to="checkMailFlowResult" />
</subflow-state>
<decision-state id="checkMailFlowResult">
<if test="mailSender.mailConfirmation(currentEvent.attributes.mailFlowOutcome)"
then="regSuccess" else="regConfirm" />
</decision-state>
<end-state id="regSuccess" view="/WEB-INF/view/regSuccess.jsp" />
有人能解决这个问题吗?请尝试在您的价值内使用单引号:
<output name="mailFlowOutcome" value="'mail sending done'"/>
谢谢rptmat57。它起作用了。你能解释一下原因吗?是不是输出值没有被视为字符串数据类型?准确地说。如果您只有一个单词(只要它不是保留单词),EL将解析并计算它是字符串。否则,它将尝试解析表达式(不确定具体如何解析),并引发错误
org.springframework.webflow.execution.FlowExecutionException: Exception thrown in state 'mailSenderFlow' of flow 'registrationFlow'
at org.springframework.webflow.engine.impl.FlowExecutionImpl.wrap(FlowExecutionImpl.java:573)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:263)
at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:253)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
Truncated. see log file for complete stacktrace
Caused By: org.springframework.expression.spel.SpelParseException: EL1041E: After parsing a valid expression, there is still more data in the expression: 'sending'
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.doParseExpression(InternalSpelExpressionParser.java:130)
at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:60)
at org.springframework.expression.spel.standard.SpelExpressionParser.doParseExpression(SpelExpressionParser.java:32)
at org.springframework.expression.common.TemplateAwareExpressionParser.parseExpression(TemplateAwareExpressionParser.java:73)
at org.springframework.binding.expression.spel.SpringELExpressionParser.parseSpelExpression(SpringELExpressionParser.java:96)
Truncated. see log file for complete stacktrace>
<output name="mailFlowOutcome" value="'mail sending done'"/>