Я новый пользователь плиток и люблю его до сих пор.Но сейчас я сталкиваюсь с проблемой, и я не уверен, что плитки - это правильный инструмент в моей руке для достижения моих целей.
Я хотел бы создать общую регистрационную форму, которая будет использоваться несколькими сайтами.,Эта форма регистрации будет немного отличаться на каждом сайте.Очевидно, что они могут использовать одни и те же файлы JSP и Java-коды.Моя цель - иметь файлы .properties, в которых я могу указать, какие фрагменты формы ввода следует включать в форму, а какие нет (для каждого сайта).
Есть ли способ динамической вставки атрибутов?
Я создал класс подготовки представления.Таким образом, я могу добавить / переопределить существующие атрибуты.
public class TestViewPreparer extends ViewPreparerSupport {
public void execute(TilesRequestContext tilesContext, AttributeContext attributeContext) throws PreparerException {
Attribute attribute = new Attribute("/WEB-INF/views/search-panel/holiday-type.jsp");
attributeContext.putAttribute("rfFragment", attribute);
}
}
Но это только добавление / переопределение только одного атрибута за раз.Кроме того, в файле шаблона я должен добавить следующую строку для каждого из них.
<tiles:insertAttribute name="rfFragment1" />
<tiles:insertAttribute name="rfFragment2" />
//... etc
То, что я ищу, больше похоже на добавление списка Attribute
s и включение их в строку шаблона.с петлей.Примерно так:
<tiles:useAttribute id="fragments" name="rfFragments" classname="java.util.List" />
<c:forEach var="fragment" items="${fragments}">
<tiles:insertAttribute value="${fragment}" flush="true" /></c:forEach>
Моя проблема в том, что AttributeContext
может принимать только один атрибут и не может иметь список атрибутов.Или я что-то упустил?
Надеюсь, я достаточно подробно описал свою проблему, учитывая детали.