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

news/2024/5/18 15:24:32 标签: JSTL

----------------------------------------- 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>

 


http://www.niftyadmin.cn/n/1564388.html

相关文章

SSM项目从零开始到入门028-mybatis的二级缓存探究

MyBatis的二级缓存是Application级别的缓存&#xff0c;它可以提高对数据库查询的效率&#xff0c;以提高应用的性能。 MyBatis的缓存机制如上图所示&#xff0c;当开一个会话时&#xff0c;一个SqlSession对象会使用一个Executor对象来完成会话操作&#xff0c;MyBatis的二级缓…

技术人的自我修炼

2019独角兽企业重金招聘Python工程师标准>>> 作为一名技术人&#xff0c;从技术深度与广度上看&#xff0c;应该先有深度&#xff0c;然后再发展广度。工作这么多年&#xff0c;单从面试的这点看&#xff0c;我更倾向于招技术有一定深度的候选人&#xff0c;而不是面…

时间复杂度和空间复杂度3 - 数据结构和算法05

时间复杂度和空间复杂度3 让编程改变世界 Change the world by program 函数调用的时间复杂度分析 如果我们把问题再实际化一点&#xff0c;大家是否能自己正确的分析出来呢&#xff1f; 我们来看下边这个例子&#xff1a; [codesyntax lang"c"] int i, j; for(i…

SSM项目从零开始到入门029-mybatis的前置内容小节

mybatis是什么&#xff1f;mybatis是一人持久层框架&#xff0c;mybatis是一个不完全的ORM框架。sql语句需要程序员自己去编写&#xff0c;但是mybatis也有映射&#xff08;输入参数映射、输出结果映射&#xff09;。mybatis入门门槛不高&#xff0c;学习成本低&#xff0c;让程…

JSTL标签if和choose

------------------------------- JSTL标签if和choose---------------------------- if和choose&#xff08;重点&#xff09; if标签的test属性必须是一个boolean类型的值&#xff0c;如果test的值为true&#xff0c;那么执行if标签的内容&#xff0c;否则不执行。 <c:set…

漏洞复现Tomcat系列弱口令、CVE-2017-12615、CVE-2020-1938

文章目录 提提神tomcat8 弱口令介绍&#xff1a;复现&#xff1a; Tomcat PUT方法任意写文件漏洞&#xff08;CVE-2017-12615&#xff09;介绍&#xff1a;复现&#xff1a; Tomcat AJP 文件包含漏洞&#xff08;CVE-2020-1938&#xff09;介绍&#xff1a;复现&#xff1a; 提…

splunk 服务器日志监控软件

1、安装splunk 软件 http://www.netis.com.cn/splunk/download-splunk-4-1-7/ 大家可以去这个站点下载&#xff0c;有linux和windows系统下的两种&#xff0c;随意使用&#xff0c;我的例子实在linux下的。 2、安装 rpm -ivh splunk-4.1.7-95063.i386.rpm 软件安装的时候有个序…

SSM项目从零开始到入门030-mybatis的一对一关联映射

通过前面的学习&#xff0c;我们知道可以通过resultMap 完成一些高级映射。如果查询到的列名和映射的pojo的属性名不一致时&#xff0c;通过resultMap设置列名和属性名之间的对应关系&#xff08;映射关系&#xff09;&#xff0c;可以完成映射。下面我们讲解mybatis高级映射中…