浅谈 OKR 与 KPI:okr和kpi的定义和应用场景(浅谈辄止)
906
2022-05-30
简介
JSTL的英文全称是JavaServer Pages Standard Tag Library,中文全称是JSP标准标识库。JSTL技术标准是由JCP(lava Community Process)组织的JSR052专家组发布,Apache组织将其列入Jakarta项目,Sun公司将JSTL的程序包加入互联网服务开发工具包内(Web Services Developer Pack(WSDP)),作为JSP技术应用的一个标准。
JSTL标签是基于JSP页面的,这些标签可以插入在JSP代码中,本质上JSTL也是提前定义好的一组标签,这些标签封装了不同的功能,在页面上调用标签时,就等于调用了封装起来的功能。JSTL的目标是简化JSP页面的设计。对于页面设计人员来说,使用脚本语言操作动态数据是比较困难的,而采用标签和表达式语言则相对容易,JSTL的使用为页面设计人员和程序开发人员的分工协作提供了便利。
JSTL标识库的作用是减少JSP文件的Java代码,使Java代码与HTML代码分离,所以JSTL标识库符合MVC设计理念。MVC设计理念的优势是将动作控制、数据处理、结果显示三者分离。
主要组成
JSTL包含了和以下操作相关的标签:
1、核心标签:核心标签库是整个JSTL中最常用的部分,主要由以下几部分组成:基本输入输出、流程控制、迭代操作和URL操作。负责Web应用的常见工作,如:循环、表达式赋值、基本输入输出等。
2、I18N格式标签库:用来格式化显示数据的工作如:对不同区域的日期格式化等。
3、XML标签库:用来访问XML文件的工作,支持JSP对XML文档的处理。
4、数据库标签库:SQL标签库包括了大部分访问数据库的逻辑操作,包括查询、更新、事务处理、设置数据源等。可以做访问数据库的工作。
5、函数标签库:用来读取已经定义的某个函数。
优点
1、简化了JSP和Web应用程序的开发。
2、在应用程序服务器之间提供了一致的接口,最大限度地提高了Web应用在各应用服务器之间的移植。
3、允许JSP设计工具与Web应用程序开发的进一步集成。相信不久就会有支持JSTL的IDE开发工具出现。
4、以一种统一的方式减少了JSP中的Scriptlets代码数量,可以达到程序中没有任何Scriptlest代码。
JSTL封装了JSP开发中的常用功能。比如说,在没有JSTL时,通过Scriptlets来迭代输出某个List(Set),有了JSTL,就可以使用它的一系列的Tag进行迭代输出。由于JSTL是JSP2.0规范的一部分,所以最新的Web容器都会支持它。
使用条件
在JSP中使用JSTL标签需要具备如下两个条件。
条件一:要在JSP页面中使用JSTL标签,需使用taglib指令引用标签库。
条件二:要在JSP中使用JSTL标签,还需要下载安装JSTL实现(Implementation)。
JSTL1.2实现的-为:https:jstl.dev.java.net,下载文件为jstl-impl-1.2.jar,将该文件复制到Web应用程序的WEB-INFlib文件夹中即可使用JSTL。
JSTL1.0实现的-为:http://www.apache.org/dist/jakarta/taglibs/standard/,Windows用户下载jakarta-taglibs-standard-current.zip。下载后解压,在lib文件夹中有两个文件:
·jstl.jar;
·standard.jar.
将这两个文件复制到Web应用程序的WEB-INFlib文件夹中即可使用JSTL 。
一般来说,引入格式如下:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
我这里使用的是老版本的jstl1.0,下面让我们使用jstl的几个核心标签来进行具体的演示:
核心标签
c:out
参数:value:要输出的内容值 default:输出的默认值 escapeXml:是否忽略xml特殊字符
注意:
下面写个小例子来说明下:
看着上面代码,不妨在大脑里构思一下结果,第一个会输出value 的所有值,第二个因为escapexml默认为true,所以忽略了a标签,不会进行转义,第三个会转义a标签,第四个因为value的值用el表达式绑定的是null值,所以默认输出的是default的值
run一下,看看效果:
c:set
这个标签之所以很有用呢,是因为它会计算表达式的值,然后使用计算结果来设置 JavaBean 对象或 java.util.Map 对象的值。
语法格式:
参数含义:scope的默认值为page
注意:如果指定了target属性,那么property属性也需要被指定。
举例:
先引入JSTL标签库,引入了一个javabean对象Person
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
public class Person { private String username; private int age; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
这里我示例了四个范围:page,request,seesion,application和javabean、map,通过c:set保存值,然后通过el表达式取值
c:choose和c:when、c:otherwise
switch语句中有case,而
c:if
scope的默认值为page
举例:判断输入框是否为admin ,是就输出欢迎登录
c:foreach
语法:
<% List不指定begin、end遍历集合
指定begin、end、step
以上关于JSTL的常用核心标签基础就介绍到这里了
总结:
这里从JSTL的简介、组成、特点、使用条件和常用核心标签进行一一举例介绍,如有不足之处,欢迎指正!
感恩能与大家在华为云遇见!希望能与大家一起在华为云社区共同成长。
JSP
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。