Apache Tiles устанавливает атрибут тега html, используя значение <put-attribute> - PullRequest
3 голосов
/ 22 сентября 2010

Я использую Apache Tiles 2.1 в качестве моей структуры шаблонов (вместе с Spring MVC).

Я хочу знать, как лучше всего установить значения атрибутов HTML из моего файла определений Tiles. Например, у меня есть текстовое поле и я хочу установить атрибут maxlength из моего определения. Я ожидал, что следующее сработает -

<input id="nameField" type="text"
    maxlength="<tiles:insertAttribute name='maxlength' />" />

используя это определение -

<definition name="sprint-goal" >
       <put-attribute name="maxlength" value="100" />
</definition>

Но, похоже, Tiles игнорирует тег , если он помещен в тег HTML. В противном случае работает нормально.

Примечание. Я пытался использовать ViewPreparer для установки значений в области запроса. Это будет работать, но это не совсем то, что я ищу. Я хотел бы легко установить значения атрибутов HTML из определения Tiles.

Ответы [ 2 ]

2 голосов
/ 26 января 2013

Чтобы установить значение атрибутов html-элемента, лучше всего использовать язык выражений.Во-первых, представьте атрибут плитки как переменную java с помощью тега useAttribute плиток.Затем используйте $ {} для печати переменной.

Пример:

<tiles:useAttribute name="myMaxLength" id="maxLength" />

<input id="nameField" type="text" maxlength="${myMaxLength}" />

Дополнительная информация: - обновлено в июне 2014 года: https://tiles.apache.org/2.2/framework/tiles-jsp/tlddoc/tiles/useAttribute.html - http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html

0 голосов
/ 08 ноября 2010
 <put-attribute name="maxlength" value="100" type="string" />

Тип ввода не определен как «строка», он будет принят как URL для включения ...

...