Относительные URL в спецификации JSP
Я взял ниже параграфы из документа спецификации JSP 2.1. Я в замешательстве и мне нужна помощь с этим.
Относительный путь к странице - это путь, который начинается не с косой черты (/). Он должен интерпретироваться как относящийся к текущей странице JSP или текущему файлу JSP или файлу тегов, в зависимости от того, где используется путь.
Я хорошо до этого. Затем,
Для директивы include (см. Раздел JSP.1.10.3), где путь используется в атрибуте файла, интерпретация относится к файлу JSP или файлу тега. Для действия jsp:include (см. Раздел JSP.5.4,
“<jsp:include>”
), где путь используется в атрибуте страницы, интерпретация относится к странице JSP. В обоих случаях текущая страница или файл обозначается некоторым путем, начинающимся с /, который затем изменяется новой спецификацией, чтобы создать путь, начинающийся с /.
В вышеприведенном абзаце говорится, что в обоих случаях интерпретация относится к странице JSP, но почему она начинается с "/"? По первому абзацу страницы относительные пути не начинаются с косой черты, верно? Это опечатка? и shd это должно быть как 'в обоих случаях путь должен быть как "../myfile.jsp"??
Новый путь интерпретируется через объект ServletContext. См. Раздел JSP.1.10.5 для точных деталей об этой интерпретации.
Я согласен с этим, если путь начинается с косой черты.
1 ответ
В спецификации говорится, что значение "Текущая страница" будет начинаться с "/". Это страница, к которой относится относительный путь, а не сам относительный путь.
Поэтому, если вы укажете относительный путь, он будет использовать текущий путь, который всегда будет начинаться с '/', чтобы вычислить новый путь. Получающийся новый путь также будет путем, начинающимся с '/'.
Вы просто используете относительный путь, чтобы описать новый путь в терминах относительно текущего пути.