zl程序教程

您现在的位置是:首页 >  其它

当前栏目

JSTL核心标签库

标签 核心 JSTL
2023-09-27 14:26:42 时间

简化JSP程序的开发

表达式标签

1、<c:out>输出标签

将表达式的值输出到jsp页面中,类似<%=表达式%>或者EL表达式${expression}

语法格式1(没有标签体):

<c:out value="expression" [escapeXml = " true | false]" ]  [default = "defaultValue"] />

语法格式2(有标签体):

<c:out value="expression" [escapeXml = " true | false]" ]   >
   default = "defaultValue"
</c:out>
  • value属性:要输出的表达式或者变量
  • escapeXml属性:指定是否转换字符,默认是true、如果是true就解析
  • default属性:当value的值为null的时候、显示出来。就像那个前端显示图片、如果没有图片显示,就显示相应的文字。

举例子:<c:out value="水平线 <hr> excapeXml ="false" ></c:out>
结果就是水平线



<c:out value="水平线 <hr> excapeXml ="true" ></c:out> 结果是 水平线 <hr>

2、<c:set>变量设置标签

语法格式1:在指定范围内将变量值存储到变量中

<c:set var = "变量名" value = " 变量值" scope="范围"/>

语法格式2:存储某个具体对象的内容

<c:set target="目标对象" property="属性名" value="值"/>
  • var属性:指定变量名,<c:out>可以指定value属性的值
  • vlaue属性:指定变量的值
  • scope属性:指定变量的作用域,默认page、request、session和application
  • target属性:存储变量值或者标签体的目标对象,JavaBean或者map集合对象
  • property属性:指定属性名

举例子:

<jsp:useBean id="user" class="com.zheng.User"/>
//设置值
<c:set target="${user}" property="name" > admin</c:set>

3、<c:remove>变量移除标签

语法格式:

<c:remove var="name" scope="范围" />
  • var属性:要移除的变量名
  • scope属性:在哪个范围内,如果不指定在哪个范围内,则在page、request、application、session中查找并且移除。

注意:找不到要移除的变量,不会抛出异常

4、<c:import >导入标签

可以导入站内或其他网站的静态和动态文件到web页面中。

5、<c:redirect>重定向标签

重定向、可以将客户端发出的request请求重定向到其他URL服务端。
语法格式1:(简单的页面跳转)

<c:redirect url="url" context="/context"/>

语法格式2:将客户请求重定向到目标路径

<c:redirect url="url" context="/context">
	<c:param/>
	//可以有多个
</c:redirect>
  • url属性:指定目标url
  • context属性:在使用相对路径访问外部资源context资源时,指定资源的名字

举例子1:

<c:redirect url="loing.jsp"/>//跳转到登录页

举例子2:

<c:redirect url="url" context="MyServlet">
	<c:param name="action" value="query"/>
</c:redirect>

6、<c:param>传递参数标签

语法格式:

<c:param name="action" value="query"/>
  • name属性:指定参数名
  • value属性:指定参数值

举列子:
假如重定向到main.jsp页面

<c:redirect url="main.jsp" >
	<c:param name="user" value="admin"/>
</c:redirect>

在main.jsp获取参数值

${param.user}

7、<c:if>条件判断标签

语法格式1:

<c:if test="condition" var="name" scope="page|reqeust|session|application" />

语法格式2:

<c:if test="condition" var="name" scope="page|reqeust|session|application" >
	标签题
</c:if>
  • test属性:必选属性,条件表达式
  • var属性:可选、指定变量名,保存test属性的判断结果
  • scope属性:变量的有效范围

8、<c:choose>条件选择标签

语法格式:

<c:choose>
	标签体//<c:when>标签和<c:otherwise>标签组成
</c:choose>

理解:就相当于if -else if -else if- else。
当when不成立执行下一个when,如果成立就执行when标签体的内容,如果所有的when都不成立,就执行otherwise标签中的内容

9、<c:when>标签

语法格式

<c:when test="condition">
	标签体
</c:when>
  • test属性:条件表达式

10、<c:otherwise>其他条件标签

语法格式

<c:otherwise>
	标签体
</c:otherwise>

11、<c:forEach>循环标签

语法格式:

<c:forEach items="data" var = "name" begin="start" end =" finish" step="step" varStatus ="statusName">
	标签题
</c:forEach>
  • items属性:必选属性,指定被循环遍历的对象
  • var属性:指定循环体的变量名
  • begin属性:指定循环的起始位置
  • end属性:指定循环的终止位置
  • step属性:指定循环的步长
  • varStatus属性:指定循环的状态变量
  • 标签体属性:jsp页面可以显示的任何元素