Как избежать дополнительных параметров в Grails (от страницы GSP до контроллера)

Я новичок в Grails. В моем веб-приложении у меня есть скрытое поле

<g:hiddenField name="tags" id="tags" value=""></g:hiddenField>

значение этого скрытого поля устанавливается на Submit.

<input type="submit" class="btn btn-default" onclick="setTag()" value="Ask Question"/>

а метод setTag определяется как: function setTag() { $("#tags").val(selectedTagList); }

selectedTagList — это список идентификаторов.

при переходе к контроллеру, если отправка значения равна 1,2,3, а в контроллере значение достигает значения [1,2,3, , ]

если это a,b, то значение достигает значения [a,b, , ] два дополнительных параметра, получаемых в контроллере. Как я могу избежать этих дополнительных параметров. ??


person JayKay    schedule 31.03.2014    source источник


Ответы (1)


Я проверил вашу ситуацию. Это довольно странно. В контроллере есть пустое значение при получении переменной params. Но это обычно с TextField. Итак, я думаю, что первым шагом вы должны попытаться удалить пустое значение в списке с помощью этого оператора:

def clean = list.findAll { item -> item != ''}
person Phat H. VU    schedule 31.03.2014
comment
в первой строке JQuery значение selectedTagList устанавливается как пустое. Каждый раз, когда эта страница загружается, значение selectedTagList изначально будет пустым. Тогда что делать дальше? - person JayKay; 31.03.2014
comment
Метод notEmpty() недоступен, но isEmpty() будет работать нормально. Но лишние параметры все же есть. - person JayKay; 31.03.2014
comment
я использовал это: def clean = list.findAll {item -> item.notEmpty() } но список не меняется. где я могу получить очищенный список? - person JayKay; 31.03.2014