На самом деле существует ряд причин, чтобы пойти с одним или другим с точки зрения организации кодовой базы.
Основной причиной создания библиотеки тегов вместо использования тега jsp:include
является предоставление параметров и значений, которые могут повлиять на генерируемую разметку. Предположим, вы хотите передать имя пользователя, которое появится в заголовке вашей страницы, и вы уже потратили драгоценные циклы. Также, если у вас особенно сложная логика (например, что-то большее, чем условные или циклы), библиотека тегов - путь. Никто не хочет беспорядок кода спагетти, сидящего в JSP.
Я бы сказал, что библиотека тегов, которая не принимает никаких параметров, которые всегда производит статический вывод, является функционально эквивалентно использованию jsp:include
.
В вашем конкретном случае использования имеется несколько связанная разметка. У вас есть заголовок страницы и нижний колонтитул страницы. Возможно, имеет смысл реализовать это как разные теги в одном классе библиотеки тегов, чтобы эти связанные фрагменты находились в одном месте.
С другой стороны, инкапсуляция HTML внутри библиотеки тегов снижает ремонтопригодность для не-разработчиков. Скажем, у вас есть графический дизайнер по проекту, который не знает lick Java, но хотел бы изменить разметку. Конечно, они могут пройти через класс библиотеки тегов и выяснить, что им нужно изменить; возможно, нет!
Подводя итоги, если вы считаете, что можете передавать параметры, или у вас есть бизнес-логика, это библиотека тегов. Если это просто статический контент и/или вы хотите, чтобы не разработчики помогли редактировать, возможно, с включенным .jsp
.
Из того, что я слышу, JSP упали в немилости из-за трудностей с изготовлением повторно используемых компонентов. Они не намного проще, чем включает в себя старинный php include или shtml. Некоторые люди говорят о JSF, но мой ограниченный опыт заключается в том, что существует высокая кривая обучения. Не уверен в хорошем архитектурном решении. GSP довольно безболезненны, хотя, к сожалению, они идут вместе с Grails, который не безболезнен. – CStepnitz
К сожалению, сейчас я придерживаюсь этой архитектуры. – Josie