Получить хост и contextroot в классе без HttpServletRequest [дубликат]


На этот вопрос уже есть ответ здесь:

В настоящее время я создаю класс для обработки отправки почты. Для некоторых из этих писем мне нужно построить ссылки (активация аккаунта, сброс пароля, подтверждения и т. д.).

Я не хочу жестко кодировать хост ссылки, как и хост, будут разными для dev, test и prod. Поэтому мне нужно получить имя хоста и контекст приложения программно в моем почтовом классе.

Мы используем Spring MVC в этом проекте.

Я проиллюстрирую то, что я хочу, примером.

В нашем JSP у нас есть такие фрагменты:

<script src="<%=request.getContextPath()%>/js/jquery-1.7.js" type="text/javascript">

В этом контексте, request.getContextPath() решит, что http://localhost:8080/applicationName

Это то, что я хочу для своего почтового класса.

I попытка реализовать ServletContextAware в моем классе, думая, что я смогу использовать servletContext.getContextPath() с аналогичными результатами. Но это утверждение разрешает только /applicationName

Итак, на мой вопрос: Как я могу получить полный хост и контекст (http://localhost:8080/applicationName) в моем почтовом классе? Есть ли какой-то другой интерфейс, кроме ServletContextAware, который я могу использовать? Помогите пожалуйста : -)

С уважением Даниил

1 5

1 ответ:

Я искал перед публикацией, но, по-видимому, недостаточно усердно. Этот же самый вопрос уже был задан (и на него был дан ответ).

Поиск URL вашего приложения только с помощью ServletContext