Я работаю над преобразованием старого приложения Struts 1.x в Spring MVC и на некоторых страницах JSP тег bean:define
используется для получения строки из набора ресурсов и затем используется позже на странице:Эквивалент Struts 1.x "bean: define" tag?
<bean:define id="example_title"><fmt:message bundle="${example_Labels}" key="example_field"/></bean:define>
потом:
title="<%=example_title%>"
Я не уверен, что эквивалентно JSTL (или, если он даже должен быть JSTL) тег должен быть для того, чтобы покончить с тегом Struts, может кто-нибудь предложить предложение? Я пробовал играть с JSTL set
и jsp:useBean
, но либо они ошибаются, либо я реализую их ненадлежащим образом.
Спасибо за любые предложения!
Я пробовал этот путь: я не получаю никаких ошибок JSP при тестировании, но значение заголовка пустое при отображении страницы. Это почти похоже на то, что var = "example_title" не распознается. Проект пред-JSP-2.0, так как он принимает «$ {example_title}» как литеральное строковое значение и использует его как заголовок. –
Тогда это, вероятно, не в том же объеме. Вы показываете его на странице включения ('jsp: include')? Если это так, добавьте запрос 'scope =" '' в сообщение 'fmt: message'. Страница включения использует тот же запрос. – BalusC
Хорошая мысль, но она находится на той же странице. На всякий случай я попытался использовать scope = page/request/session/application с тем же результатом. Будет ли иметь значение, что title = часть находится в теге? Поэтому я попытался: –