我们使用tomcat urlrewrite插件重写出站URL和入站URL.为此,您需要使用JSTL标记. 这适用于干净的网址和i18n,但它会产生丑陋的代码,包括标签内的标签,如下所示: link href='c:url value="/content/boo
这适用于干净的网址和i18n,但它会产生丑陋的代码,包括标签内的标签,如下所示:
<link href='<c:url value="/content/bootstrap/css/bootstrap.css" />' rel="stylesheet" />
要么:
<a href='<c:url value="/nextPage.jsp"/>' />Next Page</a>
一种替代方法是使用变量,如下所示:
<c:url value="/nextPage.jsp" var="nextPageUrl"/> <a href='${nextPageUrl}' />Next Page</a>
这真的很干净,但很冗长.
是否有表达式语言友好的方式来做到这一点?
我有点希望得到类似的东西:
<a href='${url "/nextPage.jsp}' />Next Page</a>
谢谢.
开箱即用,但没有什么能阻止你编写自己的EL函数,因此使用类似的东西:<a href='${myFn:url("/nextPage.jsp")}' />Next Page</a>
我觉得它比标准的c:url标签更具可读性,但如果它必须接受参数名称和值,那就更糟了.
有关如何定义和使用EL功能,请参见http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html.