Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不能在SpringWeb流定义中使用var元素?_Java_Xml_Spring_Xsd_Spring Webflow - Fatal编程技术网

Java 不能在SpringWeb流定义中使用var元素?

Java 不能在SpringWeb流定义中使用var元素?,java,xml,spring,xsd,spring-webflow,Java,Xml,Spring,Xsd,Spring Webflow,我试图在我的流中声明一个变量,遵循文档,使用 <var name="myVar" class="int" /> 我正在使用最新的XSD: <flow xmlns="http://www.springframework.org/schema/webflow" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.or

我试图在我的流中声明一个变量,遵循文档,使用

<var name="myVar" class="int" />
我正在使用最新的XSD:

<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.xsd">
我已经验证了Spring服务器和jar中的2.4XSD实际上包含var元素的定义,以及input、on start和其他工作元素

知道问题出在哪里吗?

我想您是在某个操作状态或其他情况下使用var元素。var元素用于在流启动时设置值。 如果要在状态中设置某个值,请使用set元素。 有时,我们从调用方流获取值,我们使用输入元素在当前流中访问这些值

var元素可在流程开始时使用,如下所示:

    <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.xsd">

    <var name="someVarName" class="someClassName"/>

    <action-state id="myActionState">
        <set name="someName" value="123"/>
        <evaluate expression="myAction.methodInMyAction()"/>
        <transition on="..." to="..." />
    </action-state>
    ...
    </flow>

我认为var声明只支持类而不支持本机类型。所以变量应该声明为

<var name="myVar" class="java.lang.Integer"/>

不,它在根元素的正下方。@chrylis是您使用的SWF的哪个版本?2.4.1,最新版本。奇怪的是,我手动检查了XSD,正确的声明就在那里。我不知道解析器为什么不接受它。
<var name="myVar" class="java.lang.Integer"/>