Вы можете поместить следующий код в прослушиватель прокрутки списков.
FocusScope.of(context).requestFocus(new FocusNode());
Проблема решена!
Я использовал пример кода для загрузки файлов к Grails по-другому, чем исходный автор, вероятно, предназначил. Проблема состоит в том, что, когда метод загрузки контроллера назвали, это иногда было для исходного рендеринга страницы Upload. Запрос в том методе был, не имел типа MultipartHttpServletRequest. Когда я сделал POST со своим файлом для загрузки, затем Spring сделал корректную вещь и изменил мой перевопрос MultipartHttpServletRequest. Так, я должен был сделать простую регистрацию моего метода контроллера обновления перед использованием моего запроса как MultipartHttpServletRequest.
if(request instanceof MultipartHttpServletRequest)
{
MultipartHttpServletRequest mpr = (MultipartHttpServletRequest)request;
CommonsMultipartFile f = (CommonsMultipartFile) mpr.getFile("myFile");
if(!f.empty)
flash.message = 'success'
else
flash.message = 'file cannot be empty'
}
else
flash.message = 'request is not of type MultipartHttpServletRequest'
Кто-то здесь, кажется, испытывает те же затруднения, которые Вы испытали. Он говорит, что "зафиксировал" его:
Решенный. Это была моя ошибка, я входил в действие, сохраняют прежде, чем отправить форму, таким образом, я предполагаю, что не было никакого файла.
Не уверенный, как взять то, что он сказал, но возможно это поможет Вам.
удостоверьтесь, что Вы обновляете HTML (Ваш gsp с формой для загрузки от), чтобы иметь enctype, поскольку они показывают:
<g:form action="upload" method="post" enctype="multipart/form-data">
Надежда, которая полезна, кажется слишком очевидной, но это - моя первая мысль после наблюдения Вашего сообщения об ошибке.