Spring webflow PropertyNotFoundException:找不到属性

Dev*_*v G 3 java spring-webflow

我试图在spring webflow xml定义中设置会话范围内的变量,并且找不到找到的属性.请帮助

118484 [http-8080-6] DEBUG servlet.YBRServlet - 处理程序执行导致异常 - 转发到已解析的错误视图:ModelAndView:引用名为'Err010DfltCrtc'的视图; model是{exception = org.springframework.webflow.execution.ActionExecutionException:异常抛出执行[AnnotatedAction @ 87ba9e targetAction = [SetAction @ 1ed364c name = flowRequestContext.externalContext.sessionMap.testCompleted,value = yes],attributes = map [[empty]在流'QlfyEnrl'的状态'AnnIncr'中 - 动作执行属性是'map [[empty]]'} org.springframework.webflow.execution.ActionExecutionException:抛出执行异常[AnnotatedAction @ 87ba9e targetAction = [SetAction @ 1ed364c]流'QlfyEnrl'的状态'AnnIncr'中的name = flowRequestContext.externalContext.sessionMap.testCompleted,value = yes],attributes = map [[empty]]] - 动作执行属性是org的'map [[empty]]'位于org.springframework.webflow.engine.State.enter(状态)的org.springframework.webflow.engine.ActionList.execute(ActionList.java:155)上的.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:60) .java:193)在org.springframework.webflow.engine.Transition.exec ute(Transition.java:227)at org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:51)引起:org.springframework.binding.expression.PropertyNotFoundException:在org.springframework.binding中找不到属性. expression.spel.SpringELExpression.getValue(SpringELExpression.java:87)at

org.springframework.expression.spel.SpelEvaluationException:EL1008E*:( pos 0):在org.springframework 上的*type'org'springframework.webflow.engine.impl.RequestControlContextImpl '的对象上找不到字段或属性'yes'.在org.springframework.expression.spel.ast.SpelNodeImpl的org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:60)的expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:180). org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:97)中的getTypedValue(SpelNodeImpl.java:102)org.springframework.binding.expression.spel.SpringELExpression.getValue(SpringELExpression.java:84) ......还有88个

流程代码

<view-state id="AnnIncr" view="AnnIncr" model="ssModel">
<on-entry>

            <set name="flowRequestContext.externalContext.sessionMap.testCompleted" value="yes"></set>
        </on-entry>
.....
    <on-exit>
    <set name="flowRequestContext.externalContext.sessionMap.testCompleted" value="no"></set>
    </on-exit>
</view-state>
Run Code Online (Sandbox Code Playgroud)

Dev*_*v G 9

我发现问题,在双引号中我必须用单引号将值包装起来将其表示为一个值,否则它会在这里表达一个表达式.

 <set name="flowRequestContext.externalContext.sessionMap.testCompleted" value="yes"></set>
Run Code Online (Sandbox Code Playgroud)

它应该是

<set name="flowRequestContext.externalContext.sessionMap.testCompleted" value="'yes'"></set>
Run Code Online (Sandbox Code Playgroud)