首页 > 解决方案 > Webflow 1 到 Webflow 2 迁移 - 警告:不再支持 bean 属性

问题描述

我继承了一个当前使用 Webflow 1.0.6 的应用程序,并尝试将其升级到 Webflow 2.3.4 作为升级到更高版本之前的中间步骤。

我已经通过 WebFlowUpgrader 运行了一个流程,它产生了以下输出:

列表资产流.xml

<?xml version="1.0" encoding="UTF-8"?>
<webflow:flow xmlns:webflow="http://www.springframework.org/schema/webflow" xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" ns0:schemaLocation="http://www.springframework.org/schema/webflow http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd" start-state="uc1000_SearchAndListStructure">
<webflow:var name="ControllerHelper">
<!-- WARNING: the bean attribute is no longer supported --></webflow:var>
<webflow:var name="ListStructureDataController">
<!-- WARNING: the bean attribute is no longer supported --></webflow:var>
<webflow:var name="ViewElementDetailController">
<!-- WARNING: the bean attribute is no longer supported --></webflow:var>
<webflow:on-start>
        <webflow:evaluate expression="flowScope.ListStructureDataController.init()"/>
<!-- <set attribute="ControllerHelper" value="flowScope.ListStructureDataController.controllerHelper" scope="flow" /> --><webflow:set name="flowScope.ListStructureDataController.controllerHelper" value="flowScope.ControllerHelper"/>
        <webflow:set name="flowScope.ViewElementDetailController.controllerHelper" value="flowScope.ControllerHelper"/>
    </webflow:on-start>
<webflow:view-state id="uc1000_SearchAndListStructure" view="/uc1000_SearchAndListStructure.jsp">
        <webflow:on-entry>
            <webflow:evaluate expression="flowScope.ListStructureDataController.display()"/>
        </webflow:on-entry>
        <webflow:transition on="failure" to="uc1000_SearchAndListStructure"/>
        <webflow:transition on="success" to="uc1000_SearchAndListStructure"/>
        <webflow:transition on="reset" to="uc1000_SearchAndListStructure"/>
        <webflow:transition on="close" to="uc1000_SearchAndListStructure"/>
        <webflow:transition on="uc1025" to="maintain-asset-flow"/>
        <webflow:transition on="uc3003" to="maintain-asset-flow"/>
        <webflow:transition on="uc3003a" to="maintain-asset-flow"/>
        <webflow:transition on="back" to="uc1000_SearchAndListStructure"/>
    </webflow:view-state>
<webflow:subflow-state id="maintain-asset-flow" subflow="maintain-asset-flow">
        <webflow:input name="ControllerHelper" value="flowScope.ControllerHelper"/>
        <webflow:input name="ViewElementDetailController" value="flowScope.ViewElementDetailController"/>
        <webflow:transition to="uc1000_SearchAndListStructure">
            <webflow:evaluate expression="flowScope.ListStructureDataController.searchSubmitt()"/>
        </webflow:transition>
    </webflow:subflow-state>
<webflow:bean-import resource="helper-beans.xml"/>
<webflow:bean-import resource="list-asset-beans.xml"/>
</webflow:flow>

列表资产 beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
        "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

    <!-- For UC1000 Search and list Structures Screen -->
    <bean id="ListStructureDataController" class="uk.co.organisation.application.presentation.controllers.ListStructureDataController" singleton="false">
        <!-- <property name="controllerHelper" ref="ControllerHelper" /> -->
        <property name="civilsReferenceDataProcessProxy" ref="CivilsReferenceDataProcessProxy" />
        <property name="monitorConditionProcessProxy" ref="MonitorConditionProcessProxy" />
    </bean>

    <!-- For UC1025 View structure group Screen -->
    <bean id="ViewElementDetailController" class="uk.co.organisation.application.presentation.controllers.ViewElementDetailController" singleton="false">
        <!-- <property name="controllerHelper" ref="ControllerHelper" /> -->
        <property name="civilsAssetProcessProxy" ref="CivilsAssetProcessProxy" />
        <property name="civilsReferenceDataProcessProxy" ref="CivilsReferenceDataProcessProxy" />
    </bean>

   <!-- For UC3003 Maintain structure group Screen -->
    <bean id="MaintainElementDetailController" class="uk.co.organisation.application.presentation.controllers.MaintainElementDetailController" singleton="false">
        <!-- <property name="controllerHelper" ref="ControllerHelper" /> -->
    </bean>

</beans>

我不确定如何解决警告警告:不再支持 bean 属性

在运行 WebFlowUpgrade 升级之前,变量被声明为:

    <var name="ControllerHelper" bean="ControllerHelper" scope="flow" />
    <var name="ListStructureDataController" bean="ListStructureDataController" scope="flow" />
    <var name="ViewElementDetailController" bean="ViewElementDetailController" scope="flow" />

标签: spring-webflowspring-webflow-2

解决方案


尝试使用class

<webflow:var name="ControllerHelper" class="com.example.ControllerHelper">

推荐阅读