Wicket - <wicket: link> - Как поместить страницы в разные пакеты? - PullRequest
1 голос
/ 23 августа 2011

У меня есть веб-приложение, и оно имеет структуру каталогов, например:

/com/myproject/MyPage.java
/com/myproject/MyPage.html
/com/myproject/resources/styles.css
/com/myproject/resources/bg.png

В MyPage.html У меня есть такой код:

<wicket:link>
  <link rel="stylesheet" type="text/css" href="resources/styles.css"/>
</wicket:link>

Файл CSS содержит ссылки вродеurl(bg.png).И все хорошо.

Тем не менее, мое приложение сейчас становится настолько большим (у меня около 15 страниц), я не хочу помещать все страницы и HTML в один каталог.Однако такие вещи, как "styles.css", упоминаются на всех страницах.Поэтому я хотел бы создать различные пакеты для различных групп страниц, но при этом все еще иметь файл "styles.css", а также изображения и т. Д., На которые он ссылается, существующий только один раз в моем исходном дереве.

Я бы хотелсделать что-то вроде:

  • Создать, например, /com/myproject/usermanagement/UserManagementStartPage.java
  • , но все еще иметь /com/myproject/resources/styles.css (с намерением поделиться этим между всеми страницами)
  • HTML все ещессылается на CSS с помощью <wicket:link>, например, href="../resources/styles.css"
  • Или, что еще лучше, иметь абсолютную ссылку на CSS, например, href="/com/myproject/resources/styles.css (таким образом, когда я перемещаю страницу из одного пакета в более глубокое / мелкое пространство)пакет, мне не нужно менять номер ...)

Думаю ли я в правильном направлении?Как бы вы подошли к этой проблеме?

Ответы [ 2 ]

2 голосов
/ 23 августа 2011

Вам нужно что-то вроде:

<wicket:link>
  <link rel="stylesheet" type="text/css" href="$up$/resources/styles.css"/>
</wicket:link>

org.apache.wicket.settings.IResourceSettings.setParentFolderPlaceholder ( "$ до $")

Таким образом, URL будет выглядеть как /com/myproject/usermanagement/$up$/resources/styles.css, и Wicket определит для вас родительскую папку.

2 голосов
/ 23 августа 2011

Wicket обрабатывает ссылки на CSS-файлы, относящиеся к корню веб-приложения.Таким образом, не имеет значения, перемещаете ли вы файл разметки на один уровень выше или глубже.Также возможно включить таблицы стилей из кода Java, как объяснено в этой статье .Используя наследование разметки, вы можете просто добавить свою таблицу стилей на базовую страницу и позволить своим настоящим страницам наследовать ее.

...