action-state不接受评估标签Spring Web Flow 2.3

时间:2014-05-21 09:25:29

标签: eclipse spring spring-mvc spring-webflow-2

Eclipse标记此错误

cvc-complex-type.2.4.a:从元素'action-state'开始发现无效内容。其中一个'{“http://www.springframework.org/schema/webflow”:on-end,“http://www.springframework.org/schema/webflow”:输出,“http://www.springframework.org/schema/webflow”:异常处理程序,“http://www.springframework.org/schema/webflow”:bean-import} '是预期的。

关于此流程代码

<?xml version="1.0" encoding="UTF-8"?>
<flow xmlns="http://www.springframework.org/schema/webflow"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/webflow
    http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd" 
abstract="true">


<global-transitions>
    <transition on="logIn" to ="login" />
    <transition on="signup" to="signup"/>
    <transition on="logOut" to="logout"/>
</global-transitions>

<action-state id="logout">
    <evaluate expression="login.logout(currentUser)" />
    <transition on="successLogout" to="main" />
    <transition on="failLogout" to="error" />
</action-state>

我只找到动作状态样本,每个人都像我的代码一样写,人们使用相同的XSD。要么,我已经阅读了XSD文件,并且缺少动作状态部分标记评估。为什么eclipse标记了这个错误?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我认为必须有一个定义元素的顺序。尝试在action-state之前定义global-transitions。如果将鼠标指针悬停在xml文件中的“flow”xml定义上,则会显示此信息(等等):

Content Model : (attribute*, secured?, persistence-context?, var*, input*, on-start?, (action-state | view-state | decision-state | subflow-state | end-state)*, global-transitions?, on-end?, output*, exception-handler*, bean-import*)

所以,有一个strict sequence