Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring, Spring MVC, JSTL - как прикрепить параметр/атрибут? / 6 сообщений из 6, страница 1 из 1
18.03.2012, 21:07:18
    #37710912
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring, Spring MVC, JSTL - как прикрепить параметр/атрибут?
Знаю, что вопрос крайне простой, но как-то не получилось на него найти ответ быстро.

Веб-проект, использую Spring (MVC, Security) - это если поможет ответить.
Есть набор страниц *.jsp, и на большинстве нужно использовать пару параметров. Вариант прописать properties и использовать <spring:message code="..."/> не подходит, так как параметр может использоваться не только в разметке страницы.
Идеальный вариант - использовать JSTL-ный синтаксис и писать ${someParameter}. Для этого в заголовке пишу конструкцию типа <% String someParameter = "some information"; %>.
Это как бы не сильно напряжно, да и не отнимает никакие ресурсы (просто копируется со страницы на страницу). Но а) это как-то непрофессионально; б) в случае замены параметра менять надо на всех страницах.
Можно было бы прописывать в контроллере в методах что-то типа такого
Код: java
1.
2.
3.
ModelAndView result = new ModelAndView("...");
result.addObject("someParameter", "some information");//значение можно прописать как константу
return result;


а на страницах его использовать просто через ${someParameter}.
Но а) опять-таки, это не полностью "кошерно"; б) для каждой страницы прийдется делать свой метод, даже для статической, что уже "попахивает" неправильностью.
У меня какие-то отголоски есть по поводу установки параметров в web.xml - это оно? - Что-то совершенно нет уверенности.
Так как все запросы все равно проходят через спринг (маппинг на org.springframework.web.servlet.DispatcherServlet стоит как "/"), то думаю, наверняка есть возможность установки параметров в спринговских конфигах.

Одним словом - как правильно решить эту пустяковую задачку? Спасибо.
...
Рейтинг: 0 / 0
19.03.2012, 01:43:40
    #37711100
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring, Spring MVC, JSTL - как прикрепить параметр/атрибут?
Снова вернулся к данному вопросу и попробовал реализовать его с помощью интерцепторов. Как бы вещь похожа по применению к поставленной задаче (правда, по мне - это как по воробьям из пушки палить).
springmvc-servlet.xml:
Код: xml
1.
2.
3.
4.
	<mvc:interceptors>
		...
		<bean id="attributesInterceptor" class="myproject.interceptors.AttributesInterceptor"/>
	</mvc:interceptors>


Код: java
1.
2.
3.
4.
5.
6.
7.
public class AttributesInterceptor extends HandlerInterceptorAdapter {
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
		request.setAttribute("someParameter", "some value");
		request.setAttribute("language", RequestContextUtils.getLocale(request).getLanguage());
		return true;
	}
}


Заодно и язык всунул, чтобы удобно было пользоваться на страницах (в адресах к стилям и картинкам), а то пишу всякие неудобные штуки, которые мало того, что глаза срывают, так еще валидаторы jsp-шные на них лажаются.

Такой вариант "кошерный" или это действительно неправданная роскошь - целый интерцептор для такой мелочи использовать?
...
Рейтинг: 0 / 0
19.03.2012, 09:48:33
    #37711253
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring, Spring MVC, JSTL - как прикрепить параметр/атрибут?
IDVsbruck,
дальнейшая оптимизация JSP вероятно приведёт к полноценному фреймворку ГУИ, коих целая куча.
Т.е. ГУИ пока простенькое?
...
Рейтинг: 0 / 0
19.03.2012, 11:01:22
    #37711365
carper
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring, Spring MVC, JSTL - как прикрепить параметр/атрибут?
IDVsbruckСнова вернулся к данному вопросу и попробовал реализовать его с помощью интерцепторов.

В общем-то, выбор варианта дело мастера.

Можно использовать init параметры из web.xml, в большинстве случаев этого достаточно, можно сделать один сервисный бин на всё приложение доступным из jsp странички и обращаться к его параметрам - это как бы дает дополнительную гибкость в runtime, по сравнению с web.xml.

Можно использовать и интерсепторы, если у вас сайт не супер загруженный, то не думаю, что будут проблемы, хотя смысла использовать интерсепторы для параметров, которые вы "согласны" вызывать напрямую из странички, наверное, не лучший способ.

Можно и в модель, черех @ModelAttribute пихать нужное в одном классе, а нужные контроллеры наследовать от него, но смысла большого не вижу.
...
Рейтинг: 0 / 0
19.03.2012, 14:54:28
    #37711810
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring, Spring MVC, JSTL - как прикрепить параметр/атрибут?
Petro123IDVsbruck,
дальнейшая оптимизация JSP вероятно приведёт к полноценному фреймворку ГУИ, коих целая куча.
Т.е. ГУИ пока простенькое?
Опять ты загадками говоришь ...
Я совершенно не оптимизирую JSP, я просто облегчаю себе жизнь при дальнейшем переводе проекта с теста на продакшн.
...
Рейтинг: 0 / 0
19.03.2012, 15:36:43
    #37711900
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Spring, Spring MVC, JSTL - как прикрепить параметр/атрибут?
IDVsbruck,
почему опять?
- В прошлый я тебе предложил композит классов
http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2
- в этот раз _спросил_, какой ГУИ.
Ну, а выбор, всегда за тобой :)
carperВ общем-то, выбор варианта дело мастера.
ЗЫ
Я подзабыл, что тебе надо JSP и не выше.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring, Spring MVC, JSTL - как прикрепить параметр/атрибут? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]