表达式标签
表达式标签主要包括:<c:out>,<c:set>,<c:remove>和<c:catch>4个标签。
<c:out>输出标签
用于将表达式的值输出到JSP页面,可替代<%=表达式%>
语法格式1:无标签体
<c:out value="expression" [escapeXml="true|false"] [default="defaultValue"]/>
语法格式2:有标签体
<c:out value="expression" [escapeXml="true|false"]>
defaultValue
</c:out>
属性 | 类型 | 描述 | 使用EL |
---|---|---|---|
value | Object | 用于指定将要输出的变量或表达式 | 可以 |
escapeXml | boolean | 用于指定是否转换特殊字符串,默认值为true,表示转换,例如“<”转换为"<" | 不可以 |
default | Object | 用于指定当value属性值等于null时,将要显示的默认值。 | 不可以 |
<c:set>设置标签
用于在指定范围(page,request,session和application)内定义保存某个值的变量,或为指定的对象设置属性值。使用该标签可以在页面中定义变量,而不用在JSP页面中嵌入打乱HTML排班的java代码。
语法1:在scope指定的范围内将变量值存储到变量中。
<c:set value="value" var="name" [scope="page|request|session|application"]/>
语法2:在scope指定的范围内将标签主体存储到变量中。
<c:set var="name" [scope="page|request|session|application"]/>
语法3:将变量值存储在target属性指定的目标对象的propName属性中。
<c:set value="value" target="object" property="propName"/>
语法4:将标签主体存储到target属性指定的
目标对象的propName属性中。
<c:set target="object" property="propName>
标签主体
</c:set>
属性 | 类型 | 描述 | 引用EL |
---|---|---|---|
value | Object | 用于指定变量值 | 可以 |
var | String | 用于指定变量名 | 不可以 |
target | Object | 用于指定存储变量值或标签主体的目标对象,可以是JavaBean或Map集合对象 | 可以 |
property | String | 用于指定目标对象存储数据的属性名 | 可以 |
scope | String | 用于指定变量的作用域,默认值为page | 不可以 |
target属性不能直接指定的JavaBean或Map,而应该使用EL表达式或一个脚本表达式指定的真正对象。例如:要为JavaBean "LinkmanForm"的id属性赋值,那么target属性值应该是target="${linkman}",而不应该是target="linkman"。其中linkman是
LinkmanForm的对象。