2014-01-24 57 views
0

如何從LifeRay 6.1.30使用DDLRecordLocalService getFieldValue在無線電或選擇字段的速度模板中檢索DynamicDataList數據時刪除多餘的[「」]。liferay動態datalist getfieldvalue廣播和選擇字段包含cruft

這裏是我的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> 

返回以下列表:

  • [ 「東盟地區論壇」],[ 「東盟地區論壇」]
  • [ 「樹皮」],[ 「樹皮」]
  • [ 「緯」],[ 「汪汪」]

什麼刪除[「」] cruft的最佳方法是什麼?

回答

0

不知道這是否是最好的方法,但它確實刪除了[「」] cruft。

#set($arf = $record.getFieldValue("radio1477")) 
#set($arflen = $arf.length() - 2) 
#if ($arflen > 2) 
    $arf.substring(2, $arflen) 
#end 
0

約翰,

從serviceContext檢索;像這樣的東西應該工作。

  • $ {serviceContext.getAttribute(「$場」)}
  • 遍歷的個人記錄

    1

    ,最好的辦法領域接收域值是先拿到場使用getRenderedValue($locale)

    ... 
    #set ($fields = $record.getFields()) 
    #set ($myField = $fields.get("myselect")) 
    #set ($myValue = $myField.getRenderedValue($locale) 
    ...