сопоставление тегов aui с объектом spring mvc ModelAndView

Я использую Spring MVC для разработки своих портлетов. Обязательно ли использовать весенние taglibs и в jsp? Я использовал теги и aui. Могу ли я сопоставить объект ModelAndView с тегами aui? Мне нужно заполнить поля, используя модель, которую я установил из метода рендеринга. Или есть какой-то другой обходной путь для этого? У меня также есть bean-компонент модели, автоматически подключенный к моему контроллеру. Например: я должен иметь возможность установить модель в объекте modelandview и получить эту модель в jsp для заполнения полей aui.


person sree    schedule 03.04.2014    source источник
comment
Вы должны использовать теги spring, вы не можете сопоставить представление модели с тегами aui.   -  person Pankaj Kathiriya    schedule 03.04.2014


Ответы (2)


Я установил bean-компонент из контроллера и использовал атрибут bean-компонента тегов aui. Это сработало.<aui:input bean="${questionnare}" .... Это отлично работает для меня, и если bean-компонент имеет значение, он предварительно заполняется.

class YourModel{
 String someValue;
}

В контроллере добавляем в метод rendermapping параметр @ModelAttribute("yourModel") YourModel yourModel

и на странице jsp liferay просто добавьте

<aui:input type="text" name="someValue"... bean="${yourModel}"/>

это заполнит значение, если оно присутствует.

person sree    schedule 07.04.2014
comment
Не могли бы вы добавить больше описания вашего решения, потому что оно не работает для меня. Меня интересует, как вы добавляете bean-компонент в модель и как вы получаете его в jsp. - person Mariusz; 15.07.2014
comment
Если вы используете Liferay, это сработает. Или, если вы используете пружинные теги, вы можете сделать пружинную привязку. - person sree; 16.07.2014
comment
Я забыл добавить тег <requires-namespaced-parameters>false</requires-namespaced-parameters> к тегу portlet в файле liferay-portlet.xml. Нужно в лайфрей 6.2. Большое спасибо, что вы отредактировали свой ответ. - person Mariusz; 16.07.2014
comment
Просто точка. У вас есть атрибут «usenamespace» в теге aui, поэтому, если мы используем usenamespace= для формы, не будет прикреплено никакого пространства имен. Таким образом, если вы хотите, чтобы пространство имен избегалось только для одной формы, это может быть достигнуто - person sree; 22.07.2014

я думаю, вы можете использовать аннотацию @modelAttribute, spring свяжет параметры запроса с моделью.

person Sravan Kumar    schedule 04.04.2014