[应用篇]第二篇 JSP自带标签介绍

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> 用于封装模板数据,有空看看,也许好玩呢!虽然我已经开始使用各种模版引擎了!

来自为知笔记(Wiz)

时间: 2024-10-17 09:05:13

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

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

目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策略(MVC5+EF6) [第四篇]ASP.NET MVC快速入门之完整示例(MVC5+EF6) [番外篇]ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6) 请关注三石的博客:http://cnblogs.com/sanshi 数据库连接字符串 上一篇文章中,我们使用MVC的

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

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

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

老老实实学WCF 第二篇 配置WCF 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: [csharp] view plaincopy using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; using System.ServiceModel.Description; name

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

第二篇 配置WCF 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: [csharp] view plaincopy using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; using System.ServiceModel.Description; namespace Hel

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

在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: [csharp] view plaincopy using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; using System.ServiceModel.Description; namespace HelloWCFServi

[C++11新特性]第二篇

0.可变数量参数,可变函数模版,变长模版类 c++98可变数量参数 #include<cstdio> #include<cstdarg> double SumOfFloat(int count, ...) { va_list ap; double sum=0; va_start(ap,count); for(int i=0;i<count;i++) sum+=va_arg(ap,double); va_end(ap); return sum; } int main() { p

chromium浏览器开发系列第二篇:如何编译最新chromium源码

说一下为什么这么晚才发第二篇,上周和这周department的工作太多了,晚上都是十点半从公司出发,回家以后实在没有多余的精力去摸键盘了.所以请大家包涵! 上期回顾: chromium源码下载: 1.找个靠谱的vpn(我试过了,网上说的不用vpn拿代码的都不靠谱): 2.获取depot_tools,解压,设置环境变量; 3.gclient获取python和git,svn,设置环境变量: 4.fetch–nohooks chromium –nosvn=true 获取源码: 5.gclientsyn

拿出来分享了!VIP珍藏!!!全网最齐全的 DEDECMS模板 网盘地址!没有你找不到的!【第二篇】

拿出来分享了!VIP珍藏!!!全网最齐全的 DEDECMS模板 网盘地址!没有你找不到的! 模板类型最齐全: -------------优美的走起!---------- 五:DEDECMS模板--服装类模板列表: 织梦模板爱搭配服装行业dedecms门户模板下载.zip 35.25 MB昨天16:43VIP永久 服装行业dedecms模板.zip 138.09 KB昨天16:43VIP永久 织梦模板爱搭配服装行业dedecms门户模板下载.zip 35.25 MB昨天16:43VIP永久 201

UI学习第二篇 (控件)

UIbutton 也是一个控件,它属于UIControl 用的最多的就是事件响应 1. //创建按钮对象 UIButton * _botton = [UIButton buttonWithType:UIButtonTypeCustom]; //设置标题 [_botton setTitle:@"按住说话" forstate:UIControlStateNormal]; [_botton setTitle:@"松开说话" forstate:UIControlStateH