2011-12-21 11 views
5

Obecnie tworzę klasę do obsługi wysyłania wiadomości. W przypadku niektórych z tych wiadomości muszę utworzyć linki (aktywacja konta, zresetowanie hasła, potwierdzenia itp.).Zdobądź hosta i kontekstroot w klasie bez HttpServletRequest

Nie chcę kodować hosta linków, ponieważ host będzie inny dla dev, test i prod. Muszę więc programowo uzyskać nazwę hosta i kontekst aplikacji w mojej klasie poczty.

Używamy Spring MVC w tym projekcie.

Będę ilustrować, czego chcę na przykładzie.

W naszych JSP, mamy fragmenty tak:

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

W tym kontekście request.getContextPath() rozwiąże się http://localhost:8080/applicationName

To jest to, co chcę dla mojej klasy poczta również.

Próbowałem zaimplementować ServletContextAware w mojej klasie, myśląc, że będę mógł używać servletContext.getContextPath() z podobnymi wynikami. Ale to oświadczenie rozwiązuje tylko/applicationName

Więc na moje pytanie: Jak mogę uzyskać pełny host i kontekst (http: // localhost: 8080/applicationName) w mojej klasie poczty? Czy istnieje inny interfejs niż ServletContextAware, z którego mogę korzystać? Pomóc proszę :-)

Pozdrowienia Daniel

+0

Zobacz http://stackoverflow.com/questions/8343634/get-server-name-from-postconstruct-method-in-a-spring-controller – axtavt

Odpowiedz

Powiązane problemy