Java 在Liferay 6.2中以编程方式设置选择类型自定义字段

Java 在Liferay 6.2中以编程方式设置选择类型自定义字段,java,liferay-6.2,Java,Liferay 6.2,我在liferay中创建了一个结构,该结构具有与DLFileEntry关联的自定义字段。此结构具有自定义功能: -文本字段 -整型字段 -数字字段 -下拉列表字段 在liferay中上载文档(以编程方式)时,我可以以编程方式设置所有这些字段(下拉列表除外) 因此,假设通过管理控制台创建的这个下拉列表字段名为“selectnameliferay”。此下拉列表有3个选项: 键“Option1”->值:“Option1” 键“Option2”->值“Option2” 键“选项3”->值“选项3” 作

我在liferay中创建了一个结构,该结构具有与DLFileEntry关联的自定义字段。此结构具有自定义功能: -文本字段 -整型字段 -数字字段 -下拉列表字段

在liferay中上载文档(以编程方式)时,我可以以编程方式设置所有这些字段(下拉列表除外)

因此,假设通过管理控制台创建的这个下拉列表字段名为“selectnameliferay”。此下拉列表有3个选项:

  • 键“Option1”->值:“Option1”
  • 键“Option2”->值“Option2”
  • 键“选项3”->值“选项3”

    作为我代码中的输入,我将

值“option2”和liferay自定义字段的名称(“选择名称liferay”)

我要做的是:

Map<String, Fields> fieldsMap = new HashMap();


        for (Map.Entry<String, Object> entry : customFields.entrySet()) {
           ....all other custom fields are put in the map

                targetFields.put(new Field("select-name-liferay",  "a string"
           ....
        }
        fieldsMap.put(structure.getStructureKey(), targetFields);
Map fieldsMap=newhashmap();
对于(Map.Entry:customFields.entrySet()){
..所有其他自定义字段都放在地图中
放置(新字段(“选择名称liferay”、“字符串”)
....
}
fieldsMap.put(structure.getStructureKey(),targetFields);
然后,我使用Liferay DL Utils保存文件,并将fieldsMap传递给它。所有未选择的字段都设置正确,但我似乎无法设置下拉列表的值


如何实现这一点?

尝试将该值设置为

targetFields.put(new Field("select-name-liferay",  "[a string]"

看起来您的答案不完整谢谢,您的答案解决了我的问题。对于任何具有相同类型问题的人,在构建fieldsMap时,如果您需要为“select”类型字段设置选项,则需要放置一个映射,其键为字段名,其值为选项值,并由[]包围。例如:targetFields.put(新字段(“选择名称liferay”,“[”+aString+”)