Вопрос

За отличный ответ на другой вопрос я начал монтировать глобальные ресурсы (css / js / images) в методе init() моего веб-приложения. Используя следующее:

mountSharedResource("/images/edit-btn.gif", new ResourceReference(GlobalResource.class, "edit-btn.gif").getSharedResourceKey());

Это, конечно, позволяет css в другом пакете делать что-то вроде этого:

background-image: url("/images/edit-btn.gif");

Проблема, с которой я столкнулся, заключается в том, что это работает только во время выполнения, смонтированный путь является виртуальным. Одним из больших преимуществ Wicket (imo) были функции (<wicket:remove>, допустимые теги xml, заголовки ссылок, наследование страниц), которые позволяли дизайнеру страниц, работающему с макетом, иметь возможность визуализировать страницу с ее изображениями, js, css и т. д. без необходимости запуска в калитке.

Я полностью согласен с тем фактом, что между ролями дизайнера и программиста в веб-приложениях никогда не бывает четкой границы, но мне кажется странным, что дизайнеры Wicket пропустили это. Можно ли как-нибудь разрешить глобально используемому изображению визуализировать как автономно, так и работать во время выполнения в Wicket?

Это было полезно?

Решение

Я думаю, рекомендуемый способ - возьмите html у ваших дизайнеров и включите их в компоненты калитки - это означает, что вы разбьете его на несколько файлов. Рендеринг этих частичных файлов не будет работать без каких-либо дополнительных усилий. Я бы порекомендовал установить простой скрипт, инструмент или что-нибудь в этом духе, которое запустит ваше веб-приложение для ваших дизайнеров. Таким образом, они могут изменить фрагменты и сразу увидеть обновленный рендеринг. Вам нужно будет договориться об общей структуре и сказать им, как использовать <wicket:remove>, и у вас все будет хорошо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top