JSP включить параметр страницы, используя HashMap в атрибуте запроса - PullRequest
1 голос
/ 11 ноября 2010

Я хотел бы передать заголовок HTML-страницы на включенную страницу JSP, но заголовок передается представлению в атрибуте запроса, который оказывается hashMap dbTable

Это работает, но я неМне не нравится, что я смешал Java с моим представлением

<%@ page import="java.util.HashMap" %>
<% HashMap dbTable = ((HashMap)request.getAttribute("dbTable")); %>
<jsp:include page="inc_header.jsp" flush="true">
    <jsp:param name="pageTitle" value="<%= \"Confirm Delete \" + ((HashMap)request.getAttribute(\"dbTable\")).get(\"strTableTitle\") + \" Data \"%>" />
</jsp:include>

Я использую только jsp 1.2, так что это не работает (заголовок просто показывает оператор EL)

<jsp:include page="inc_header.jsp" flush="true">
  <jsp:param name="pageTitle" value="Confirm Deletion of ${dbTable.strTableTitle} data" />
</jsp:include>

Этоработает в теле страницы

<h1>Confirm Deletion of <c:out value="${dbTable.strTableTitle}" /> Data </h1>

, но это приводит к неопределенной строковой ошибке

<jsp:include page="inc_header.jsp" flush="true">
    <jsp:param name="pageTitle" value="Confirm Deletion of <c:out value="${dbTable.strTableTitle}" /> data" />
</jsp:include>

Есть мысли о том, как сделать этот очиститель?Заголовок используется всеми моими представлениями, и я хотел бы создать окончательную строку заголовка (например, Confirm Delete HashMap.DatabaseTitle data) в каждом шаблоне представления.

1 Ответ

0 голосов
/ 12 ноября 2010

Вам нужно обновить как минимум JSP 2.0, чтобы получить EL в <jsp:param> для работы. Ссылка на синтаксис JSP 1.2 не упоминает о какой-либо поддержке EL в <jsp:param>, в то время как Ссылка на синтаксис JSP 2.0 делает.

...