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
Zobacz http://stackoverflow.com/questions/8343634/get-server-name-from-postconstruct-method-in-a-spring-controller – axtavt