0

ラジオまたは選択フィールドの速度テンプレートで DDLRecordLocalService getFieldValue を使用して LifeRay 6.1.30 から DynamicDataList データを取得するときに、余分な [" "] を削除するにはどうすればよいですか。

ここに私のVMがあります:

#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>

次のリストを返します。

  • ["アルフ"]、["アルフ"]
  • [「樹皮」]、[「樹皮」]
  • [「ワン」]、[「ワン」]

[" "] クラフトを取り除く最良の方法は何ですか?

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

ジョン、

serviceContext から取得します。このようなものが機能するはずです。

  • ${serviceContext.getAttribute("$field")}
  • 個々のレコードのフィールドを反復処理する

    于 2014-01-30T05:37:25.123 に答える
    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 に答える