【jsp中c标签的使用以及获取数据】

本文详细介绍了JSP中C标签的使用,包括变量维护、流程控制(条件标签和迭代标签)、URL管理和错误处理。重点讲解了如何设置和删除变量,实现条件判断和循环,以及URL编码、重定向和参数设置。同时,文章还提到了在JSP中同步和异步获取数据的方法,强调了EL表达式和AJAX在数据获取中的应用。
摘要由CSDN通过智能技术生成

一、jsp中c标签的使用

1、变量维护

(1)<c:set>设置变量值和对象属性值,语法如下:

<c:set value="值" var="变量名" scope="变量的作用域" target="对象名" prooerty="对象属性名"><c/:set>

(2)<c:remove>在指定作用域范围内删除变量,语法如下:

<c:remove var="变量名" scope="作用域"></c:remove>

2、流程控制:分为条件标签和迭代标签

(1)条件标签:<c:if><c:choose><c:when><c:otherwise>

<c:if>不能实现else功能,有两种语法形式,是以有无标记体来区分的

①无标记体

无标签体:<c:if test="测试条件" var="变量名" [scope="作用域"] />

有标签体:<c:if test="测试条件" var="变量名" [scope="作用域"]>标签体</c>

②、有标记体

<c:if test="${user:visitCount!=0}">hello!word!</c:if>

(2)<c:choose><c:when><c:otherwise>

<c:when><c:otherwise>无法单独使用,只能作为<c:choose>的子标签来使用,这三个标签组合起来实现switch语句的功能,语法如下

<c:choose>
  <c:when test="${user.class==’guest’}">
     标签体1
  </c:when>
  <c:when test="${user.class==’vip’}">
     标签体2
  </c:when>   
  <c:otherwise>
     标签体3
  </c:otherwise>  
</c:choose>

(3)迭代标签 <c:forEach><c:forTokens>

①<c:forEach>用于遍历一个对象集合

<c:forEach var="变量名" items="集合" varStatus="遍历状态名" begin="begin" end="end" step="step" >
      标签体          
</c:forEach>

②<c:forTokens>用于遍历字符串,而且每次遍历结果返回字符串中的一个单词

<c:forTokens items=“字符串” delims=“分界符” var=“变量名”

<c:forTokens items="字符串" delims="分界符" var="变量名" varStatus="遍历状态名" begin="begin" end="end" step="sep">
     标签体       
</c:forTokens>

3、URL管理

(1)<c:url>:用于对URL地址进行编码

有标签体:

语法:
<c:url value="URL" context="路径" var="变量名" scope="作用域">
  `标签体`
</c:url>
实例:
<c:url value="http://localhost:8080/el/index.jsp" var="NewURL">
   <c:param name="name" value="zero"/>
   <c:param name="age" value="28"/>
 </c:url>
 <a href="${NewURL}">点我呀</a>

无标签体:主要用于编辑上下文URL

语法:<c:url value="URL" context="路径" var="变量名" scope="作用域"/>

实例:<c:url value="/logon.jsp">登录</c:url>

(2) <c:import>向当前JSP页面中引入URL资源(可以是远程序站点上的资源)。Include指令和include动作不能向JSP页引入Web程序以外的资源,引入的资源必须位于当前Web程序中

一、String对象引入的语法:
<c:import url="地址" context="上下文路径" var="变量名" scope="作用域" charEncoding="字符集">
    标签体使用<`c:param`>
</c:import>
实例:
<c:import url="http://www.hao123.com" var="myurl" charEncoding="gb2312">
</c:import>
<a href="${myurl }">地址</a>
二、以Reader对象导入的语法:
<c:import url="地址" context="上下文路径" varReader="变量名" scope="作用域" charEncoding="字符集">
   标签体使用其它动作元素
</c:import>

(3)、<c:redirect> 用于HTTP重定向

无标签体:<c:redirect url="地址" context="上下文路径"/>

有标签体:

<c:redirect url="地址" context="上下文路径">
    <c:param/>标签
</c:redirect>

(4)、<c:param>只能嵌入到<c:url>、<c:import>、<c:rediect>标签中作为子元素来使用,此标签主要用于设置URL中将要传入的参数

无标签体:<c:param name="名称" value="值"/ >

有标签体:

<c:param name="名称" value="值" >
  标签体
</c:param>

4、其他标签<c:out>、<c:catch>

(1)<c:out>:在JSP页面中显示变量内容

无标签体:<c:out value="值" escapeXml="{true|false}" default="默认值"/>

有标签体:

<c:out value="值" escapeXml="{true|false}" default="默认值">
  标签体
</c:out>
其中:default: 用于指定当value值为null时,应该输出的值。
     escapeXml: 用于设置是否将"<"、">"、"&"、"’"、"""、这些字符进行转义。
     escapeXml默认为true,表示不发生转换

(2)<c:catch>:用于处理JSP页面错误,如果JSP页面出错,可以通过对page指令属性的设置将其转到错误处理页面上。<c:catch>标签是对这种错误处理的补充。它的处理方式是将可能发生异常的JSP代码片段嵌入到标记体内,然后使用var属性接收标记体抛出的异常。

语法:
<c:catch var="变量名">
   嵌套动作
</c:catch>
使用方法:
<c:catch var="myexception">
   嵌套动作
</c:catch>
<c:if test="${myexception!=null}">
  内容
</c:if>

参考博文:https://blog.csdn.net/chabale/article/details/9406437

二、jsp中获取数据

jsp中获取数据有两种方法:同步或者异步
1、同步获取数据,jsp里面使用el表达式或者jst标签读取,比如:
Java:request.setAttribute(“para”, “abc”);
JSP: p a r a 或 者 < c : o u t v a l u e = " {para} 或者<c:out value=" para<c:outvalue="{para}"></c:out>
在这里插入图片描述

用c标签相对安全一些。
2、异步获取数据,用ajax调后台服务,再渲染到页面上,如:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值