9.3.9 <c:param>标签

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

在JSTL核心标签库中有如下三个标签和URL有关:

1 <c:import>标签

2 <c:url>标签

3 <c:redirect>标签

在为这些标签指定URL时经常要为这些URL指定一些参数,而<c:param>标签的功能就是为上述三个标签的URL指定参数。如果指定的参数包含中文,<c:param>标签会自动为其编码。编码规则是按着JSP页面的contentType属性设置的字符集进行编码。如下面的JSP页面将按着GBK编码格式将“超人”转换为“%b3%ac%c8%cb”。

<%@ page language="java" contentType="text/html; charset=GBK" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:redirect url="http://nokiaguy.blogjava.net">
    <!--  按着GBK格式进行编码  -->
    <c:param name="abc" value="超人"/>
</c:redirect>

如果将contentType属性设为“text/html; charset=UTF-8”,则“超人”会被转换为“%e8%b6%85%e4%ba%ba”。

<c:param>标签有如下两种语法格式:

1 语法1:使用value属性指定参数值

<c:param name="name" value="value"/>

2 语法2:使用标签体指定参数值

<c:param name="name">

    parameter value

</c:param>

<c:param>标签的属性说明如表9.9所示。

表9.9 <c:param>标签的属性

属性名

是否支持动态属性值

属性类型

属性描述

name

true

String

参数的名称。

value

true

String

参数的值。