JSP 有以下三类标签:

指令:JSP Directive

指令标签用于设置与整个 JSP 页面相关的属性,非常常用。
下面的三种标签是我们使用频率最高的

标签 jsp标签 描述
<%@ page … %> 使用比较 <jsp:directive.page attribute="value" /> 定义页面的依赖属性,例如脚本语言、页面编码、缓存需求等等
<%@ include … %> 静态包含,使用比较多 <jsp:directive.include file="relative url" /> 引入其它文件,例如 JSP、HTML、文本文件,先包含后运行
<%@ taglib … %> 引用标签 <jsp:directive.taglib uri="uri" prefix="prefixOfTag" /> 引入标签库,可以是 JSP 标准标签库(JSTL)、也可以是自定义标签库

脚本:JSP Syntax[不推荐了!]

语法标签是 Java 早期为了便于开发人员在 JSP 页面中书写业务逻辑而设计的,但目前不再建议使用。

标签 jsp标签 描述
<% scriptlet %> <jsp:scriptlet> scriptlet </jsp:scriptlet> 脚本程序,可以包含任意有效的 Java 语句、变量、方法或表达式
<%! declaration %> <jsp:declaration> declaration </jsp:declaration> 不教课,我压根就不知道这种写法!声明语句,可以声明一个或多个变量、方法,供后面的 Java 代码使用
<%= expression %> <jsp:expression> expression </jsp:expression> 怎么说呢?好吧,讲课的时候我还应该会的,表达式,其结果会被转为字符串并输出到 HTML 页面
<%– comment –%> 没有, 代码注释,页面源码中没有显示

代码说明:

  1. <html>
  2. <body>
  3. <%!String output ="world"; %>
  4. <%out.println("Hello "+ output); %>
  5. <br/>
  6. <%="Hello "+ output %>
  7. </body>
  8. </html>

好low的代码,虽然结合使用这三种语法标签,可以在 JSP 页面中写出大段的 Java 逻辑代码,但强烈不建议这么做,因为这样会导致前端页面和业务逻辑之间紧耦合,以致后续难以维护

动作:JSP Action 半退休状态

函数标签是一些预定义好的行为标签,偶尔用用。

标签 描述
<jsp:include> 用于在当前页面中包含静态或动态资源,先运行后包含
<jsp:forward> 从一个 JSP 文件向另一个文件传递一个包含用户请求的 request 对象,是一个请求转发
<jsp:useBean> 只是不推荐使用,没有说废弃!寻找和初始化一个 JavaBean 组件
<jsp:getProperty> 将 JavaBean 组件的值插入到 output 中
<jsp:plugin> 用于在生成的 HTML 页面中包含 Applet 和 JavaBean 对象,个人用过一次,挺好玩的Applet,当年感觉很神奇
<jsp:element> 动态创建一个 XML 元素
<jsp:forward> 从一个 JSP 文件向另一个文件传递一个包含用户请求的 request 对象,是一个请求转发
<jsp:attribute> 定义动态创建的 XML 元素的属性
<jsp:body> 定义动态创建的 XML 元素的主体
<jsp:text> 用于封装模板数据,有空看看,也许好玩呢!虽然我已经开始使用各种模版引擎了!

[应用篇]第二篇 JSP自带标签介绍的更多相关文章

  1. Sharepoint 2013 安装部署系列篇 第二篇 -- SQL集群安装

    第一部分 系统集群安装. 第三部分 安装和配置网络负载均衡在前端web服务器 第四部分 安装和配置sharepoint 场(三层拓扑部署) 以下图片均为sharepoint 2010..由于本人的笔记 ...

  2. [ 高并发]Java高并发编程系列第二篇--线程同步

    高并发,听起来高大上的一个词汇,在身处于互联网潮的社会大趋势下,高并发赋予了更多的传奇色彩.首先,我们可以看到很多招聘中,会提到有高并发项目者优先.高并发,意味着,你的前雇主,有很大的业务层面的需求, ...

  3. 第二篇 Integration Services:SSIS数据泵

    本篇文章是Integration Services系列的第二篇,详细内容请参考原文. 简介SSIS用于移动数据.数据流任务提供此功能.因为这个原因,当介绍SSIS时我喜欢从数据流任务开始.数据流任务的 ...

  4. [老老实实学WCF] 第二篇 配置WCF

    老老实实学WCF 第二篇 配置WCF 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: using System; using System.Col ...

  5. 老老实实学习WCF[第二篇] 配置wcf

    老老实实学WCF 第二篇 配置WCF 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: using System; using System.Col ...

  6. (转)[老老实实学WCF] 第二篇 配置WCF

    第二篇 配置WCF 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: using System; using System.Collections. ...

  7. 【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  8. 第二篇 界面开发 (Android学习笔记)

    第二篇 界面开发 第5章 探索界面UI元素 ●The Android View Class     ●△Widget设计步骤 需要修改三个XML,以及一个class: 1)第一个xml是布局XML文件 ...

  9. 【译】第二篇 Integration Services:SSIS数据泵

    本篇文章是Integration Services系列的第二篇,详细内容请参考原文. 简介SSIS用于移动数据.数据流任务提供此功能.因为这个原因,当介绍SSIS时我喜欢从数据流任务开始.数据流任务的 ...

随机推荐

  1. Spring Boot (十四): Spring Boot 整合 Shiro-登录认证和权限管理

    这篇文章我们来学习如何使用 Spring Boot 集成 Apache Shiro .安全应该是互联网公司的一道生命线,几乎任何的公司都会涉及到这方面的需求.在 Java 领域一般有 Spring S ...

  2. Flask学习-前言

    前言 使用Flask断断续续加起来快一年了,但是一直没有从源码层去了解其实现原理.加上自己python基础不扎实,所以准备从看一个开源项目开始,希望能够从中窥得武功精髓,让自己水平更上一层楼. Fla ...

  3. swift学习:第一个swift ui程序

    最近swift有点火,赶紧跟上学习.于是,个人第一个swift程序诞生了... 新建项目

  4. .netCoreMVC添加数据仓储

    在上一篇关于CodeFirst从零搭建ASP.NETCore2.0中搭建起了完整.netCoreMVC项目,在这一篇中将实现如何注册service服务和Repository数据仓储到web中实现数据的 ...

  5. Js_实现3D球体旋转

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Python+Selenium+Unittest+Ddt+HTMLReport分布式数据驱动自动化测试框架结构

    1.Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object.Common_Page.login_pa ...

  7. 微软职位内部推荐-Senior BSP Engineer

    微软近期Open的职位: The position of Sr. BSP engineer requires experience and good knowledge in mobile hardw ...

  8. Magento 总结

    ZEND EAV 速度 作者:李淼链接:https://www.zhihu.com/question/20656910/answer/25793452来源:知乎著作权归作者所有.商业转载请联系作者获得 ...

  9. (第十二周)Bug修正报告

    根据Debug周各组找出的Bug,现做出如下说明: Bug: 一.天天向上团队 看到的现象:当食物链长度很长时,最长链显示不全.如下图: 期待的现象:当食物链过长时,食物链可以自动换行. 二者的差异: ...

  10. python3 selenium打开Chrome报错闪退问题

    ChromeDriver不匹配 Google Chrome 已是最新版本 版本 64.0.3282.186(正式版本) (32 位)   ChromeDriver应该选择2.35 下载链接:https ...