tôi sẽ nói
request.getRequestURL() + "/my/url"
làm cho công việc. Không có như vậy được xây dựng trong chức năng, mùa xuân: url gọi UrlTag.class có phương pháp dưới đây để tạo URL, bạn có thể sử dụng nó như một insőiration cho mã của bạn:
private String createUrl() throws JspException {
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
StringBuilder url = new StringBuilder();
if (this.type == UrlType.CONTEXT_RELATIVE) {
// add application context to url
if (this.context == null) {
url.append(request.getContextPath());
}
else {
url.append(this.context);
}
}
if (this.type != UrlType.RELATIVE && this.type != UrlType.ABSOLUTE && !this.value.startsWith("/")) {
url.append("/");
}
url.append(replaceUriTemplateParams(this.value, this.params, this.templateParams));
url.append(createQueryString(this.params, this.templateParams, (url.indexOf("?") == -1)));
String urlStr = url.toString();
if (this.type != UrlType.ABSOLUTE) {
// Add the session identifier if needed
// (Do not embed the session identifier in a remote link!)
urlStr = response.encodeURL(urlStr);
}
// HTML and/or JavaScript escape, if demanded.
urlStr = isHtmlEscape() ? HtmlUtils.htmlEscape(urlStr) : urlStr;
urlStr = this.javaScriptEscape ? JavaScriptUtils.javaScriptEscape(urlStr) : urlStr;
return urlStr;
}
Nguồn
2012-01-06 18:44:50
Đó là cách xấu để thực hiện việc này. Tôi cần dịch vụ được sử dụng bởi để tạo url ... Cần dọn dẹp, vui lòng –
Nanocom
Xấu theo cách nào? Không có dịch vụ như vậy, mùa xuân: url nhiều hơn hoặc ít hơn không giống nhau, xem nguồn đính kèm. –
Ok, nếu bạn nói ... Nhưng thật điên rồ khi họ không nghĩ về điều đó, theo ý kiến của tôi! – Nanocom