2011-12-21 20 views
5

Tôi hiện đang tạo một lớp để xử lý việc gửi thư. Đối với một số thư tôi cần phải xây dựng liên kết (kích hoạt tài khoản, đặt lại mật khẩu, xác nhận, vv).Nhận máy chủ và ngữ cảnh trong lớp mà không cần HttpServletRequest

Tôi không muốn mã hóa máy chủ của các liên kết, vì máy chủ sẽ khác nhau đối với dev, kiểm tra và sản xuất. Vì vậy, tôi cần phải có được tên máy chủ và bối cảnh ứng dụng theo chương trình trong lớp thư của tôi.

Chúng tôi đang sử dụng Spring MVC trong dự án này.

Tôi sẽ minh họa những gì tôi muốn với ví dụ.

Trong JSP của chúng tôi, chúng tôi có đoạn như thế này:

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

Trong bối cảnh này, request.getContextPath() sẽ giải quyết để http://localhost:8080/applicationName

Đây là những gì tôi muốn cho là tốt class mail của tôi.

Tôi đã cố gắng triển khai ServletContextAware trong lớp học của mình, nghĩ rằng tôi có thể sử dụng servletContext.getContextPath() với các kết quả tương tự. Nhưng tuyên bố này chỉ giải quyết cho/applicationName

Vì vậy, với câu hỏi của tôi: Làm thế nào tôi có thể nhận được máy chủ đầy đủ và ngữ cảnh (http: // localhost: 8080/applicationName) trong lớp thư của tôi? Có một số giao diện khác hơn ServletContextAware mà tôi có thể sử dụng không? Giúp xin vui lòng :-)

Trân Daniel

+0

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

Trả lời

Các vấn đề liên quan