У меня есть x.jsp
, который может обслуживаться как весь ответ или быть включенным в несколько других файлов jsp.Как узнать, включен ли JSP-файл другим?
Так как я могу узнать внутри x.jsp
, если он включен в другой файл или нет?
У меня есть x.jsp
, который может обслуживаться как весь ответ или быть включенным в несколько других файлов jsp.Как узнать, включен ли JSP-файл другим?
Так как я могу узнать внутри x.jsp
, если он включен в другой файл или нет?
Вы можете проверить значение атрибута javax.servlet.include.request_uri
на странице x.jsp
. Если установлено, страница jsp была включена.
Дальнейшие подробности здесь: Java HttpServletRequest get URL in browsers URL bar
Вы можете иметь скрытое поле в «другие файлы», и если вы в том числе x.jsp
вы должны установить значение для него, и в x.jsp
, когда вы хотите знать, если его в том числе, вы должны проверить, что скрытые поля value == 'value'
.
Как JSP проверяет значение любого поля 'input'? –
Если x.jps
имеет знание о включении, то это означает, что некоторые лучшие практики игнорируются:
x.jsp
не только вида, но и своего рода контроллера ,x.jsp
на y.jsp
и z.jsp
, или ввести переменную, которая будет содержать значение для соответствующего случаяx.jsp
нуждается в дополнительных данных о среде.Конечно, эти практики не являются обязательными, но вам нужна сильная причина, по которой вы их игнорируете.
Пожалуйста, дайте нам более подробную информацию о вашем случае или перефразировать вопрос вы
Редактировать
Мой ответ абстрактно, как ваш вопрос абстрактно. Возьмите нам свой jsp, что нужно изменить, и я надеюсь, что вы получите лучший ответ.
В принципе, лучше, если вызывающий абонент дает то, что он вызывает всю необходимую информацию, вместо того, чтобы позже связаться с вызывающим. Это верно и для написания чистого кода Java. Вы можете использовать программу grepwin для поиска и замены во всех JSP-файлах. –
Архитектура (и вредные привычки) заставила нас уйти от «чистого» MVC. (Pls не говорит мне рефакторинг, это будет стоить сотни мужчин дней). Jsp-файлы не являются классами, а о связи и т. Д. Взгляните на тег useBean или переменные session/request. Каждый Jsp-файл больше похож на вызов процедуры, чем объект. Спасибо за ваш ответ, но это не полезно для меня. – Paolo
Вопрос в том, как это сделать, а не если я должен это делать или нет. – Paolo
Почему вы хотите знать? Что вы будете делать со знанием? –
вы можете попробовать получить доступ к значениям из включенного jsp из включенного. –
Я уже подумал о каком-то обходном пути (например, используя jsp: param), но это не самый элегантный способ, так как мне нужно будет изменить все файлы, содержащие jsp. – Paolo