Это вопрос дизайна и вопрос передовой практики. Как вы структурируете свою веб-разработку на Java так, чтобы много логики не было в файле JSP. Следует ли использовать какие-либо теги JSP для структур if или циклов. Я вижу много кода, в котором трудно следовать логике из-за плохо спроектированных файлов JSP. А затем, когда вы хотите вывести в другой формат, например в PDF- или XML-документ, вы не сможете этого сделать, потому что вся логика находится в файле JSP.
Есть ли какие-либо советы или рекомендации, которым вы следуете при разработке веб-приложений на Java?
В настоящее время я использую комбинацию Spring, Hibernate, Struts ... и работаю с некоторым кодом сервлета.
Есть хорошие практики, связанные с разработкой на Java. Многие из нас, кто работал какое-то время, знают их. Какие хорошие практики для разработки JSP.




Самый простой способ избежать размещения логики в JSP - просто выполнить всю эту логику до, перенаправив запрос в JSP. Единственная логика, которую вам нужно выполнить в JSP, - это некоторый базовый цикл (например, для создания строк таблицы HTML), оценка условных операторов и форматирование данных.
Все это можно сделать без использования кода скриптлета (кода Java) в JSP, используя библиотеки тегов JSP и EL. Самая важная библиотека тегов - JSTL. Библиотека тегов JSTL предоставляет большую часть логики, которая вам когда-либо понадобится для выполнения в представлении, хотя иногда вы также можете использовать нишевые сторонние библиотеки тегов, такие как displaytag, которые могут уменьшить объем кода JSP, который вам нужно написать для конкретных задач.
Именно об этом я и думал.
При использовании WebSphere с осторожностью используйте функции JSTL. Теги будут работать, но функции могут не работать должным образом из-за ошибки, которая была исправлена в 6.0 u 13. Если у вас более ранняя версия, функции могут взорваться ... вам придется создавать теги для выполнения функций .
Поскольку вы уже используете Spring, вы можете попробовать Spring Webflow. Я предполагаю, что вы используете теги формы Spring, но если нет, вам также следует проверить их. С этой комбинацией не должно быть почти никакой потребности [если таковая имеется] в использовании тегов JSP в вашей логике представления.
Вы используете Spring MVC? Фреймворк MVC должен предоставить несколько довольно хороших примеров - и почти заставит вас - следовать этому типу структуры.