jsp 的 4 种基本语法
1、JSP 注释
2、JSP 声明
3、JSP 表达式
4、JSP 脚本
JSP 注释:
注释格式:
<%-- 注释内容 --%>
需要注意的是,JSP 的注释不会输出到 HTML 中。
JSP 声明:
JSP 声明用于声明变量和方法。在 JSP 声明中声明方法看起来很特别,似乎不需要定义类就可以直接定义方法,方法似乎可以脱离类独立存在。
实际上,JSP 声明将会被转换成对应的 Servlet 的成员变量或方法。
声明语法:(使用 "<%! ... %>" 这种格式,第一个百分号后面多了个 "!")
<%!
// 声明一个整型变量
public int count;
// 声明一个方法
public String info() {
return "浏览次数: " + count;
}
%>
JSP 表达式:
// 输出表达式后面不能有分号
<%=表达式%>
<%=count++%>
<%=info()%>
打开多个浏览器, 我们会发现count变量的值是连续的, 这是因为:JSP 页面会编译成一个 Servlet 实例,
每个 Servlet 在容器中只有一个实例;在 JSP 中声明的变量是成员变量,成员变量只在创建实例时初始化,
该变量的值将一直保存,直到实例销毁。
JSP 脚本:
通常来说,所有可执行性 java 代码都可以通过 JSP 脚本嵌入 HTML 页面。
如,输出一个列表
<ul>
<%
for (int i = 0; i < 3; i++) {
%>
<li><%=i%></li>
<%
}
%>
</ul>
我们可以查看编译后的 java 代码:
for (int i = 0; i < 3; i++) {
out.write("\n");
out.write(" <li>");
out.print(i);
out.write("</li>\n");
out.write(" ");
}
上面的代码片段位于 Servlet 的 _jspService 方法中。
也就是说,我们在 JSP 脚本标签中写的任何 java 代码都会原样出现在 Servlet 的_jspService 方法中。
同时,由于在 JSP 脚本语法(<% ... %>) 标签内的 java 代码将会出现在方法内,也就意味着我们不能使用 public 等关键字了,如果我要要声明,请使用声明语法。
由于 JSP 脚本可以放置任何可执行性语句,所以可以充分利用 Java 语言的功能,例如连接数据库等。
可在 http://jsp.baiguiren.com:8080/jsp/jsp-syntax.jsp 查看最终效果
jsp 的 4 种基本语法的更多相关文章
- jsp笔记1(基本原理与语法)
web.xml文件配置管理的范围: 1.配置jsp 2.配置和管理Servlet 3.配置和管理Listener 4.配置和管理Filter 5.配置标签库 6.配置jsp属性 7.配置和管理JAAS ...
- JSP学习(2)---四种基本语法与三种编译指令
JSP的异常可以不处理,即使是checked异常. 四种基本语法: jsp声明,jsp注释,jsp表达式,jsp脚本 三种编译指令: page,include,taglib 下面是具体的练习. sho ...
- jsp中两种include的区别【转】
引用文章:http://www.ibm.com/developerworks/cn/java/j-jsp04293/ http://www.cnblogs.com/lazycoding/archive ...
- jsp基础知识(基本的语法及原理)
jsp 语法分为三种不同的类型: (1) 编译器指令: 类如: <%@ page import="java.io.*"%> (2) 脚本语法: 指定的是java代码: ...
- JSP开发中的基础语法
JSP 语法 JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代码片段 %> 或者 ...
- <关于JSP技术>运行机制及语法概述(附对本次同济校内ACM选拔赛决赛的吐槽)
(一)JSP运行的机制 JSP是一种建立在Servlet规范功能之上的动态网页技术,它们都是在通常的网页文件中嵌入脚本代码,用于产生动态内容,不过和ASP不同的是JSP文件中嵌入的是Java代码和JS ...
- 将html页改成jsp的两种方式
将html页改成jsp的两种方式 作者: 字体:[增加 减小] 类型:转载 时间:2013-08-13 将html页改成jsp有两种方法,第一种是直接修改html文件,另一种是新建jsp文件.下面为大 ...
- jsp中四种传递参数的方法
jsp中四种传递参数的方法如下: 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="i ...
- [转]Markdown 11种基本语法
Markdown 11种基本语法 现在是我在学习Markdown时做的笔记.学完这些Markdown的基本使用已经不成问题. 1. 标题设置(让字体变大,和word的标题意思一样) 在Markdown ...
随机推荐
- Machine Learning笔记整理 ------ (一)基本概念
机器学习的定义:假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E,使其在T中任务获得了性能改善,我们则说关于任务类T和P,该程序对经验E进行了学习(Mitchell, 1997) ...
- asp.net mvc access数据库操作
连接access数据库其实也简单,只要按照mvc的模式来就可以,遵循c v约定就可以 既然渲染试图是强类型,那么取得的数据就转换成强类型,其他一切和asp.net操作一样 DB mydb = new ...
- 基于Docker Compose构建的MySQL MHA集群
Docker MySQL MHA 基于Docker 1.13.1之上构建的MySQL MHA Docker Compose Project 可快速启动GTID模式下的MasterHA集群, 主用于My ...
- 20181113-7 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 05
作业要求https://edu.cnblogs.com/campus/nenu/2018fall/homework/2387 版本控制https://git.coding.net/lglr2018/F ...
- Beta发布-----欢迎来怼团队
欢迎来怼项目小组—Beta发布展示 一.小组成员 队长:田继平 成员:葛美义,王伟东,姜珊,邵朔,阚博文 ,李圆圆 二.文案+美工展示 链接:http://www.cnblogs.com/js2017 ...
- 在html中怎么格式化输出json字符串
#今天的项目用到,看俊哥找到,特此记录下来 步骤: 1.在html页面中输入下面的标签,必须是在pre标签内输出格式才会生效: <pre id="songReqJson"&g ...
- 软工1816 · Alpha冲刺(6/10)
团队信息 队名:爸爸饿了 组长博客:here 作业博客:here 组员情况 组员1(组长):王彬 过去两天完成了哪些任务 alpha冲刺时间延后一周,重新规划任务安排 完成食堂店铺经纬度标注,以供美食 ...
- s2sh乱码一个小处理(新手按流程走)
解决乱码几小点: 1.配置过滤器,可以选择自己写,既然你用的SSH框架就更简单了,直接用Spring的过滤器,web.xml里配置一下即可. 2.Jsp页面设置编码,所有地方都要相同,我习惯用GBK ...
- 在本地数据库目录或系统数据库目录中已经存在数据库别名""的解决办法
在创建数据库时遇到数据库别名已存在的问题时,可以: 1. 首先用 db2 list database directory 命令看在系统数据库目录(System Database Directory)中 ...
- RabbitMQ 安装,配置
1:安装 yum install -y rabbitmq-server 2:主要程序介绍 # 管理插件的程序 /usr/sbin/rabbitmq-plugins # 服务程序 /usr/sbin ...