У меня есть приложение. который отображает объекты и теги, связанные с этими объектами (не очень оригинальное приложение). Единственное отличие состоит в том, что у тегов есть «типы». У большинства есть простой тип = объект , но у других есть тип = файл . В зависимости от тега они будут иметь разные визуализации. Например, щелкнув по тегу object , вы увидите другие подходящие объекты, но в теге file вы можете найти другие подходящие файлы или щелкнуть ссылку для загрузки, чтобы загрузить файл.
Я могу сделать две вещи:
Из JSP вызовите метод (в основном приложении), который отображает предоставляемые данные (который включает в себя текст тега, его URL и т. Д.) И возвращает строку html. поэтому, если предоставляются только `object_id` и` object_name`, эта сигнатура метода приведет к вызову _object renderer_, но если будут указаны `file_id`,` file_name` и `file_location`, сигнатура метода приведет к _file renderer_ вызываемый метод. Однако эти методы обязательно содержат / знают о html, который будет отображаться (код смешивания / html), что не идеально.
Или у меня могут быть операторы if внутри jsp, которые определяют тип возвращаемых данных и затем отображают соответствующий HTML-код соответствующим образом.
Я предпочитаю первый вариант, так как, по крайней мере, больше происходит с Java, так что я могу легко тестировать больше элементов, но есть ли способ, при котором не требуется смешивание кода и html (хотя все еще используются ванильные сервлеты некоторые новые рамки).