Глобальные параметры веб-приложения Java из web.xml в jsp - PullRequest
4 голосов
/ 08 декабря 2010

Как получить параметр / переменную htmlRootPath из файла web.xml и вставить его в шаблон jsp заголовка (см. Ниже)?В настоящее время я использую включаемый файл initialize.jsp, и он работает, но хотел бы узнать, смогу ли я сделать это с помощью файла web.xml.Я читал об использовании web.xml в сервлете, но как я могу сделать это в jsp.

---- Вот как я это делаю сейчас.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ include file="inc_taglibs.jsp" %>
<%@ include file="inc_initialize.jsp" %>
<html> 
<head> 
<title>D463 -  Solid Mechanics - [<c:out value="${dbTable.strTableTitle}" />]  <c:out value="${param.pageTitle}" /></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
   <link rel="stylesheet" type="text/css" href="<c:out value="${htmlRootPath}"/>/css/styleScreen.css" media="screen" />
   <link rel="stylesheet" type="text/css" href="<c:out value="${htmlRootPath}"/>/css/stylePrint.css" media="print" />
   <link rel="stylesheet" type="text/css" href="<c:out value="${htmlRootPath}"/>/css/cssmenu.css"  media="all"/>
   <link rel="stylesheet" type="text/css" href="<c:out value="${htmlRootPath}"/>/css/calendarPOP.css"  media="all"/>
   <script type='text/javascript'          src='<c:out value="${htmlRootPath}"/>/javascript/calendar_popup.js'></script>
   <script type='text/javascript'          src='<c:out value="${htmlRootPath}"/>/javascript/collapse.js'></script>
   <script type='text/javascript'          src='<c:out value="${htmlRootPath}"/>/javascript/sorttable.js'></script>
   <script type='text/javascript'          src='<c:out value="${htmlRootPath}"/>/javascript/window_popup.js'></script>
   <script type='text/javascript'          src='<c:out value="${htmlRootPath}"/>/javascript/switchLogin.js'></script>
</head> 

РЕДАКТИРОВАТЬ:Причина, по которой я хочу передать htmlRootPath, заключается в том, что это шаблон заголовка, который я использую для каждого разрабатываемого приложения.Он дает единообразное представление моим приложениям, используемым коллегами, в отношении логотипа компании, навигации, макета и т. Д.не HTML.
Так что папка моего веб-приложения запрещена мной в работе.Но что если я захочу изменить свой CSS-файл?Я не показывал это выше, но я использую <c:import для меню навигации, расположенного вне папки веб-приложения.Таким образом, я могу добавить новую ссылку в навигацию, не проходя процесс запроса на изменение CM (бумажная работа и подписи! Yuk)

Поскольку этот заголовок является шаблоном текста, который я использую для множества различных приложений, я быдостаточно только отредактировать путь к этой неконтролируемой папке для каждого конкретного веб-приложения ОДИН РАЗ.

1 Ответ

6 голосов
/ 08 декабря 2010

Контекстные параметры инициализации <context-param> как Map доступны для ${initParam}.

Итак:

${initParam.htmlRootPath}

См. Также:

...