当前位置 : 主页 > 编程语言 > java >

jsp – 是否有JSTL EL(表达式语言)等效于

来源:互联网 收集:自由互联 发布时间:2021-06-25
我们使用tomcat urlrewrite插件重写出站URL和入站URL.为此,您需要使用JSTL标记. 这适用于干净的网址和i18n,但它会产生丑陋的代码,包括标签内的标签,如下所示: link href='c:url value="/content/boo
我们使用tomcat urlrewrite插件重写出站URL和入站URL.为此,您需要使用JSTL标记.

这适用于干净的网址和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.

网友评论