Различные CSS-файлы для дочерних страниц - PullRequest
0 голосов
/ 15 февраля 2012

я работаю над весенним веб-приложением mvc и для внешнего интерфейса использую файлы JSP. Для больших динамических страниц я использую различные контейнеры / дочерние файлы шириной <c:import> и определил некоторые базовые CSS в контейнере верхнего уровня. Чтобы создать чистый вывод html, я удалил теги <html> и <head> из моих дочерних файлов, но без тега <head> я не могу определить другой или более уточненный файл css для своих дочерних страниц.

Каков наилучший способ реализации другого CSS для дочерних страниц?

1009 * ТНХ *

PS: единственный способ, который я могу себе представить, это использовать javascript и загрузить файл css в тег head.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

ИМХО, ваш лучший вариант - извлечь вашу CSS из модели, возвращенной вашим контроллером, используя некоторую простую абстракцию. Допустим, у вас есть страница для заказа, и у заказа есть много элементов заказа и есть несколько действий для выполнить для заказа.

Итак, у вас есть представление под названием order.jsp, это представление состоит из еще 2-х подстраниц orderitems.jsp и orderactions.jsp, тогда вы можете иметь orderitems.jsp, состоящий из множества orderitem.jsp, и orderactions.jsp, состоящий из множества orderaction.jsp (В качестве дополнительного соображения я бы порекомендовал вам использовать файлы тегов вместо дочернего jsp, но это, вероятно, просто вопрос стиля).

Ваш контроллер вернет order.jsp в качестве представления, а модель будет возвращать заказ, с этой информацией в вашем основном jsp (order.jsp) теперь вы можете увидеть, что вы собираетесь отобразить, и построить CSS-теги соответственно в вашей голове тег.

Надеюсь, это поможет!

0 голосов
/ 15 февраля 2012

Другой вариант, который не требует нескольких дочерних CSS-файлов, - это добавить класс или ID к вашему тегу body.

Затем вы можете переопределить свойства, подобные этому (глупый пример):

//default style     
div#container { background: red;}

//child 1
.body_class_1 div#container { background: blue;}

//child 2
.body_class_2 div#container { background: green; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...