7.2.2 在标签属性中使用EL表达式

优质
小牛编辑
132浏览
2023-12-01

EL表达式可以使用在任何接收动态内容的标签属性中。在这些属性中既可以只包含一个的EL表达式,也可以包含多个EL表达式和静态文本。

标签属性中只包含一个EL表达式的语法如下:

<prefix:tag value = "${表达式}" />

下面是标签属性包含一个单独EL表达式的示例代码:

<jsp:setProperty property="age" name = "myBean" value="${requestScope.abc}" />

<c:out value="${myBean.name}" />

标签属性中包含多个EL表达式和静态文本的语法如下:

<prefix:tag value="The first is ${value1}, the second is ${value2}" />

JSP引擎在翻译标签属性时,会将其中的EL表达式的执行结果作为属性的静态内容插入到表达式所在的位置。如果EL表达式执行的结果不是字符串类型,系统将会对其进行类型转换,如下面的代码所示:

<c:out value="I'm a ${value1}. I like ${value2}" />

value属性中的两个EL表达式在被执行完后,会将它们的执行结果分别插入到表达式所在的位置,然后再进行输出。