Ключ вывода в локализованное сообщение, возвращающее 0 - PullRequest
4 голосов
/ 27 января 2012

Я пытаюсь вывести ключ к локализованному сообщению в шаблоне jsp следующим образом:

    <c:set var="logo-tooltip-title">
        <fmt:message key="logo.tooltip.title"/>
    </c:set> 
    <c:out value="${logo-tooltip-title}"/>

Со следующим в моем файле messages.properties:

logo.tooltip.title=Test

Кто-нибудь знает, что я здесь не так делаю?Почему он возвращает 0 вместо теста?

Моя цель - вывести это сообщение в виде заголовка следующей ссылки:

    <a class="logo" href="/site/" title="${logo-tooltip-title}">
        <img src="<hst:link path="/img/logo.png"/>" alt="logo" class="headlogo" width="80" height="100" />
    </a>

Есть какие-нибудь мысли о том, как лучше всего это сделать?

Спасибо!

РЕДАКТИРОВАТЬ:

да Я установил параметр контекста в web.xml:

  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>messages</param-value>
  </context-param>

resource

Обновление:

Кажется, это работает:

<fmt:message key="logo.tooltip.title" var="tooltip"/>

<c:out value="${tooltip}"/>

Ответы [ 2 ]

2 голосов
/ 08 мая 2012

JSTL пытается выполнить математику для «logo - tooltip - title», что приводит к 0. Вы уже обнаружили, что замена - на.решил проблему.

2 голосов
/ 14 марта 2012

Не думаю, что ваша проблема связана с HippoCMS.

Я попробовал ваш синтаксис и думаю, что вам не хватает объявления пакета. Если я добавлю org/ecausarano/Example.properties файл к военным ресурсам и:

<fmt:setBundle basename="org.ecausarano.Example" />

<c:set var="message">
   <fmt:message key="message.message" />
</c:set>

<c:out value="${message}" />

у меня это работает.

...