JSTL标签概述和out和set标签的用法

本文介绍了JSTL的基础知识,重点讲解了JSTL核心库中的out和set标签。out标签用于输出变量,而set标签则用于设置变量。文章通过实例演示了这两个标签的用法,并提到了导入JSTL标签库的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

----------------------------------------- JSTL标签概述和out和set标签的用法----------------------------------------------

JSTL

1 JSTL概述

 

  1. 什么是JSTL

        JSP 标准标记库(JSP Standard Tag LibraryJSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。既然是第三方的东西,那么就需要导包。但是如果你使用的是MyEclipse,那么MyEclipse会帮你导包的。

2 导入标签库

导入标签库需要使用taglib指令!

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/fmt" %>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/functions" %>

这东西不用去背,可以把光标放到uri属性位置上,使用Alt+/来查看uri列表,找到其中包含jstl,并且包含core的就是了。

使用JSLT需要导入两个包:

下载参考地址http://www.runoob.com/jsp/jsp-jstl.html

2 JSTL核心库

 

1 out和set(重点)

 out

<c:out value=”aaa”/>

输出aaa字符串常量

<c:out value=”${aaa}”/>

与${aaa}相同

<c:out value=”${aaa}” default=”xxx”/>

当${aaa}不存在时,输出xxx字符串

<%

request.setAttribute("a","<script>alert('hello');</script>");

%>

<c:out value="${a }" default="xxx" escapeXml="false" />

当escapeXml为false,不会转换“<”、“>”。这可能会受到JavaScript攻击。

 

set:set标签的var、value、scope是一组,而target、property、value是一组。

<c:set var=”a” value=”hello”/>

在pageContext中添加name为a,value为hello的数据。

<c:set var=”a” value=”hello” scope=”session”/>

在session中添加name为a,value为hello的数据。

<jsp:useBean id="user" class="com.rl.domain.User"/>

<c:set target="${user }" property="username" value="renliang"/>

<c:set target="${user }" property="password" value="123456"/>

<c:out value="${user }" />

给user的username属性赋值renliang,给user的password属性赋值123456。

 

Jslt.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<%@page import="com.rl.model.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

       <%

              pageContext.setAttribute("pname", "likunpeng");

        %>

 

       <h1>JSTL核心库out</h1>

       <c:out value="${\"likunpeng\"} "></c:out><br>

       <c:out value="${pname }"></c:out><br>

       <c:out value="${name }" default="unkown"></c:out><br>

       <c:out value="${'<font color=red>likunpeng</font>'}"  escapeXml="false"></c:out>

       <hr>

       <h1>JSTL核心库set</h1>

       <%--jstl中的set默认是给pageContext添加属性 --%>

       <c:set var="pname1" value="likunpeng"></c:set>

       <c:set var="pname2" value="likunpeng2" scope="request"></c:set>

       <%-- 直接 输出属性名,默认会从范围小的域中去寻找属性--%>

       ${pname2 }<br>

       <jsp:useBean id="person" class="com.rl.model.Person"></jsp:useBean>

       <c:set target="${person }" property="name" value="likunpeng3"></c:set>

       <c:set target="${person }" property="age" value="20"></c:set>

       <c:out value="${person }"></c:out>

</body>

</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值