Nim*_*sky 7 java jsp jstl spring-mvc
<c:url var="myUrl" value="/MyPath/${MyID}"/>
Run Code Online (Sandbox Code Playgroud)
我稍后使用它(使用户能够复制链接):
<input size="35" disabled value="${myUrl}" />
Run Code Online (Sandbox Code Playgroud)
它显示
/my-app-name/MyPath/23
Run Code Online (Sandbox Code Playgroud)
但我希望它是
http://myHost/my-app-name/MyPath/23
Run Code Online (Sandbox Code Playgroud)
我可以肯定前置字符串,但想要一种主动获取正确主机名的方法......?
Bal*_*usC 23
您需要根据JSTL函数HttpServletRequest#getRequestURL()的一些帮助自己做好准备:
<c:set var="req" value="${pageContext.request}" />
<c:set var="baseURL" value="${fn:replace(req.requestURL, fn:substring(req.requestURI, 1, fn:length(req.requestURI)), req.contextPath)}" />
...
<c:url var="myUrl" value="${baseURL}/${MyID}"/>
Run Code Online (Sandbox Code Playgroud)
HttpServletRequest对象具有所有细节:
getProtocolgetServerNamegetContextPath所以我认为你可以使用:
${request.protocol} :// ${request.serverName} ${request.contextPath} /etc
Run Code Online (Sandbox Code Playgroud)
建立你想要的东西.
| 归档时间: |
|
| 查看次数: |
28428 次 |
| 最近记录: |