2011-12-21 20 views
5

Actualmente estoy creando una clase para manejar el envío de correos. Para algunos de estos correos necesito construir enlaces (activación de cuenta, restablecer contraseña, confirmaciones, etc.).Obtener host y contextroot en clase sin HttpServletRequest

No quiero codificar el host de los enlaces, ya que el host será diferente para dev, test y prod. Así que necesito obtener el nombre de host y el contexto de la aplicación programáticamente en mi clase de correo.

Estamos utilizando Spring MVC en este proyecto.

Voy a ilustrar lo que quiero con un ejemplo.

En nuestras páginas JSP, tenemos fragmentos de esta manera:

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

En este contexto, request.getContextPath() resolverá a http://localhost:8080/applicationName

Esto es lo que quiero para mi clase aswell electrónico.

Intenté implementar ServletContextAware en mi clase, pensando que podría usar servletContext.getContextPath() con resultados similares. Pero esta declaración solo resuelve a/applicationName

Entonces, a mi pregunta: ¿Cómo puedo obtener el host completo y el contexto (http: // localhost: 8080/applicationName) en mi clase de correo? ¿Hay alguna otra interfaz que ServletContextAware que pueda usar? Ayudar por favor :-)

Saludos Daniel búsqueda

+0

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

Respuesta

Cuestiones relacionadas