您的位置  > 互联网

安装JSTL格式化标签库的扩展标签让开发者更加方便

在JSP中输出HTML内容非常麻烦; 在JSP中嵌入大量的Java代码也不是一件好事。 学习了MVC架构后,/JSP终于可以尽职尽责——处理HTTP请求并访问业务逻辑代码,并使用表达式在JSP中求值和显示。 但是,对于某些场景:

根据一定的条件来确定要显示的HTML内容——导航栏根据用户是否登录显示不同的内容,循环显示一段HTML内容——博客列表

这就需要在JSP中嵌入Java代码来使页面显示出想要的结果——因为HTML本身并没有这样的标签来完成动态生成网页的任务。

幸运的是,Java EE提供了这样一个扩展标签库——JSTL,它不仅提供了常用的用于实现条件判断、循环等程序逻辑的标签,还提供了很多扩展标签,让开发者可以更方便地实现业务功能。

使用 JSTL 标签安装 JSTL 标签库

首先需要下载JSTL库,在下载地址中选择javax..jsp.jstl-1.2.1.jar。 下载后复制到项目中的WEB-INF/lib文件夹中:

这相当于将JSTL类库依赖添加到Web应用程序的类路径中,并自动添加到Web App中,这样在IDE中编写JSP文件时就可以自动检查并自动完成JSTL语法。

第一个 JSTL 程序

JSTL是一个基于JSP的扩展标签库。 在使用它之前,我们必须在JSP文件的头中引入它的定义:

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

这里我们只介绍JSTL中的核心标签库(Core),其中包括条件判断、循环处理、属性访问、URL处理、错误处理等标签。 Core 是 JSTL 最常用的标签库。 另外,JSTL还包括格式化标签库、SQL标签库、XML标签库、常用功能标签库等,在后面的学习中你会一一接触。

for Java 是核心标签库的 URL,例如“c”表示通过 c 前缀使用 JSTL 标签。

下面是一个使用JSTL标签库的简单JSP程序:

<%
  String[] cities = {"Beijing", "Shanghai", "Guangzhou"};
  pageContext.setAttribute("cities", cities);//这里是测试数据,一般来说需要在Servlet中将数据传入JSP
%>
<body>
  
    ${city} 

上面的代码通过标签遍历上下文中的变量(由 items 属性定义)。 循环变量为city(由属性var定义,可任意命名),循环中会输出标签的内容。

常用的JSTL标签

JSTL核心标签库还包含许多有用的函数:

要设置变量的值,它会计算表达式并设置相应的变量:



用于显示表达式的结果,类似于函数。 不同的是标签可以通过.直接访问对象的属性:

标签确定表达式的值,如果表达式的值为 true,则执行其主体内容。



   

My salary is:

标签的功能类似于 Java 语句,用于在许多选项中进行选择。 语句中有case,标签中也有对应的case。 声明中有案例,标签中有案例。


Your salary is :

Salary is very low to survive. Salary is very good. No comment sir...

JSTL示例使用标签显示主页用户列表

相当于重写了JSP中的for循环,然后通过. 运算符,如user.、user.title:

${user.title}

${user.description}

访问 »

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023