Webflow 1 to Webflow 2 Migration - WARNING: the bean attribute is no longer supported

时间:2018-10-02 09:16:38

标签: spring-webflow spring-webflow-2

I've inherited an application that is currently using Webflow 1.0.6 and am attempting to upgrade this to Webflow 2.3.4 as an interim step before upgrading to a later version.

I've run one of the flows through the WebFlowUpgrader and it has produced the below output:

list-asset-flow.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>

list-asset-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>

I'm unsure how to resolve the warning WARNING: the bean attribute is no longer supported

Prior to the running through the WebFlowUpgrade upgrade the variables were declared as:

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

1 个答案:

答案 0 :(得分:0)

尝试使用class

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