2014-09-17 2 views
0

Я вызываю действие remoteFunction для отображения некоторого значения в каком-либо поле. Значение просматривается, но с помощью []. Я понятия не имею, почему это так. Может кто-нибудь, пожалуйста, помогите мне в этом, пожалуйста? Я использую grails 2.1.0. вот мои попытки ниже:Почему значение просматривается с помощью [] в виде grails

мой remoteFunction >>

<g:remoteFunction action="setValueForDetails" params="'procurementMasterId='+procurementMasterId" update="changedValue"/> 

мое действие в контроллер >>

def setValueForDetails(){ 
    def otmIFQDetailsByProcurementMaster 
    if(params.procurementMasterId != null && params.procurementMasterId != "" && params.procurementMasterId != "null"){ 
     otmIFQDetailsByProcurementMaster = commonService.getOtmIFQDetailsValueByProcurementMaster(Long.parseLong(params.procurementMasterId)) 
    } 
    render (template: 'ifqDetails', model: [otmIFQDetailsByProcurementMaster: otmIFQDetailsByProcurementMaster]) 
} 

мое поле, где я хочу, чтобы установить значение в шаблоне >>

<g:textField id="PROCUREMENT_TYPE" name="PROCUREMENT_TYPE.id" readonly="" value="${otmIFQDetailsByProcurementMaster?.PROCUREMENT_TYPE}" class="form-control" /> 
+0

'[element]' обычно означает, что это список с одним элементом. – micha

ответ

1

Я думаю, что «PROCUREMENT_TYPE» является массивом перечислений из-за орфографии и отображения. Поэтому, если вы хотите «распечатать» 'Значение без квадратных скобок, Вы должны изменить значение (если Вы хотите только первый результат):

value="${otmIFQDetailsByProcurementMaster?.PROCUREMENT_TYPE[0]}" 

или если Вы хотите должны более одного элемента из списка:

value="${otmIFQDetailsByProcurementMaster?.PROCUREMENT_TYPE.toString().replace('[', '').replace(']', '')}" 

или просто итерацию через элементы PROCUREMENT_TYPE и показать столько текстового поля, сколько у вас значений PROCUREMENT_TYPE.

+0

спасибо за ваш ответ. Он работает нормально, но почему «PROCUREMENT_TYPE» является массивом перечислений? !!, когда я печатаю список по каждому методу, он печатает значение без контроллера [], но в виду, почему он показывает [] –

+0

. Единственным вариантом является это, что вы рассматривали его как массив, например, вы добавляете элемент в PROCUREMENT_TYPE по .add() .. или << или вы не указали тип PROCUREMENT_TYPE, и он установлен динамически. – MNie

 Смежные вопросы

  • Нет связанных вопросов^_^