文章目录
- 表达式标签
-
- 1、``输出标签
- 2、``变量设置标签
- 3、``变量移除标签
- 4、``导入标签
- 5、``重定向标签
- 6、``传递参数标签
- 7、``条件判断标签
- 8、``条件选择标签
- 9、``标签
- 10、``其他条件标签
- 11、``循环标签
简化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属性:指定变量名,可以指定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页面可以显示的任何元素