gpt4 book ai didi

java - Activiti - 如何获取自定义表单类型来保存多个值?

转载 作者:行者123 更新时间:2023-11-30 08:15:05 26 4
gpt4 key购买 nike

我无法理解自定义表单类型。我想创建一个存储多个值的表单类型,即基本上充当枚举。为了渲染目的,它只需要在名称上有所不同。

我做了这门课:

import org.activiti.engine.form.AbstractFormType;

public class ImpactedSitesFormType extends AbstractFormType {

public static final String TYPE_NAME = "impactedSite";

public String getName() {
return TYPE_NAME;
}

public Object convertFormValueToModelValue(String propertyValue) {
Integer impactedSite = Integer.valueOf(propertyValue);
return impactedSite;
}

public String convertModelValueToFormValue(Object modelValue) {
if (modelValue == null) {
return null;
}
return modelValue.toString();

}

}

我将其添加到我的 activiti.cfg.xml 中:

<property name="customFormTypes">
<list>
<bean class="ImpactedSitesFormType"/>
</list>
</property>

我正在制作一个 web 应用程序,我可以获取表单类型的名称和 id,但即使我在 Activiti 设计器中给了它值,这些值也返回 null。我希望我说得有道理。

最佳答案

社区版表单渲染器遇到的问题是表单渲染器无法访问执行(或任务)上下文。唯一可用的运行时数据是绑定(bind)到表单元素中的变量。这使得处理任何类型的复杂表单控制变得困难(这可能是 Alfresco 在其企业版中拒绝表单属性方法的原因)。我根据社区中的变量列表创建了一个简单的枚举,但这是一个黑客行为。我将变量设置为 CSV(例如 bill、ted、geno、sally),创建了一个自定义渲染器,将其转换为下拉列表,然后将所选结果绑定(bind)回同一变量。如果您使用默认表单渲染器,这实际上是您可以使用的唯一方法。如果您想做任何类型的重要形式,您将需要使用外部渲染引擎。

关于java - Activiti - 如何获取自定义表单类型来保存多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29777863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com