<jsp:forward page="startPage.jsf" />
Ваш index.jsp
предполагает, что FacesServlet
в web.xml
отображается на <url-pattern>
из *.jsf
.
Однако,
<a href="${facesContext.externalContext.requestContextPath}/expression/expression.xhtml" style="font-size:20px;"> Expression Subsystem</a>
ваш startPage.xhtml
имеет ссылку на expression.xhtml
вместо expression.jsf
.IE получает исходный и необработанный исходный код JSF вместо сгенерированного HTML.Всякий раз, когда IE получает файл application/xhtml+xml
, он не знает, что с ним делать, поэтому просит загрузить его.
Вам необходимо исправить ссылку, чтобы она соответствовала <url-pattern>
FacesServlet
в web.xml
.
<a href="#{request.contextPath}/expression/expression.jsf" style="font-size:20px;"> Expression Subsystem</a>
(обратите внимание, что я также упростил поиск по контекстному пути)
В качестве альтернативы, вы также можете просто изменить <url-pattern>
изFacesServlet
до *.xhtml
.Таким образом, вы можете полностью избавиться от уродливого index.jsp
, установить для <welcome-file>
значение startPage.xhtml
и постоянно использовать URL-адреса / ссылки, заканчивающиеся на .xhtml
.