0

在使用 DDLRecordLocalService getFieldValue 在无线电或选择字段的速度模板中从 LifeRay 6.1.30 检索 DynamicDataList 数据时,如何删除额外的 [" "]。

这是我的虚拟机:

#set ($ddlRecordsUtil = $serviceLocator.findService("com.liferay.portlet.dynamicdatalists.service.DDLRecordLocalService"))
#set ($records = ${ddlRecordsUtil.getRecords($getterUtil.getLong($reserved_record_set_id.data))})
<ul>
#foreach ($record in $records)
<li>
    $record.getFieldValue("radio1477"), 
    $record.getFieldValue("select2047")
</li>
#end
</ul>

其中 radio1477 是:

<input name="radio1477" value="arf">arf
<input name="radio1477" value="bark">bark
<input name="radio1477" value="woof">woof

和 select2047 是

<select name="select2047">
<option value="arf"> arf </option>
<option value="bark"> bark </option>
<option value="woof"> woof </option>
</select>

返回以下列表:

  • [“arf”],[“arf”]
  • [“树皮”],[“树皮”]
  • [“汪”],[“汪”]

去除 [" "] 杂物的最佳方法是什么?

4

3 回答 3

1

接收字段值的最佳方式是先获取字段,然后使用getRenderedValue($locale).

...
#set ($fields = $record.getFields())
#set ($myField = $fields.get("myselect"))
#set ($myValue = $myField.getRenderedValue($locale)
...
于 2015-10-30T10:03:00.360 回答
0

不知道这是否是最好的方法,但它确实删除了 [" "] 杂物。

#set($arf = $record.getFieldValue("radio1477"))
#set($arflen = $arf.length() - 2)
#if ($arflen > 2)
    $arf.substring(2, $arflen)
#end
于 2014-01-27T20:50:44.037 回答
0

约翰,

从 serviceContext 中检索它;像这样的东西应该工作。

  • ${serviceContext.getAttribute("$field")}
  • 迭代各个记录的字段

    于 2014-01-30T05:37:25.123 回答