spring-webflow - 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" />
解决方案
尝试使用class
:
<webflow:var name="ControllerHelper" class="com.example.ControllerHelper">
推荐阅读
- linux - 如何在 shell 脚本中每 60 分钟在目录中的日志文件中查找 grep 值?
- php - 如何从 mysql 查询在 laravel 中创建谷歌图表?
- string - 在VBScript中连接字符串的快速方法是什么
- java - 如何在 JNI 中调用 Android ByteBuffer.putFloat()
- ios - Xcode 11.4 循环引用错误
- python - Beautifulsoup 干净的打印和换行符
- javascript - Google Analytics 事件未触发包含匹配类型
- sql - 是否可以简化此 SQL?
- android - 使用 xamarin Implimentation 在同一平台中的应用程序之间切换
- api - 关于来自 Google Places API 的附近搜索请求的问题