2020-10-27 JSP学习笔记

JSP语法

1.jsp注释

注释可增加程序的可读性,易于软件的维护
JSP注释分为显示注释(HTML注释)和隐藏注释

代码如下

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP注释</title>
</head>
<body>
Hello JSP
<!-- 这行注释会在客户端的浏览器源码中查看到 <%= (new Date()).toString() %> -->     
<%-- 这行注释不会在客户端的浏览器源码中查看到<%=(new Data()).toString() %> --%>
</body>
</html>

<%-- --%> 为隐藏注释
(new Date()).toString() 为显示操作世界的java代码,需要<%@page import=“java.util.Date”%>
可通过ALT+?键快速导入

运行结果↓
JSP注释
可见,显示注释可在客户端的网页源码中显示,隐藏注释则不可显示。

2.脚本元素

JSP页面中的脚本元素主要包括:声明(Declaration),表达式(Expression)和小脚本(Scriptlets)。如下表所示:

元素描述
<%= %>表达式,用于嵌入jaba表达式,这些表达式的结果将加入应答中,也可以用作运行时为的属性值
<%! %>声明,用于在JSP页面的实现类中声明实例变量和方法
<% %>小脚本,用于嵌入脚本代码

表中所列的脚本元素允许用户将小段代码(一般情况下是Java代码)添加到JSP页面中(如可以加入一个if语句,以根据具体情况的不同产生不同的HTML代码,同行为元素一样,他们也是在页面被请求时执行的。在使用脚本元素时要格外小心,如果在jsp页面中加入了过多的代码,最后会遇到将html嵌入servlet时一样的维护问题。

Scriptlet~小脚本

使用小脚本实现1到100累加求和的功能

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>计算1+2+3+...+100</title>
</head>
<body>
	<%
	int sum = 0;
	for (int i = 0; i <= 100; i++) {
		sum += i;
	}
	out.println("1+2+3+...+100=" + sum);
	%>
</body>
</html>

运行结果↓
使用Scriptlet实现1到100的累加

Expression~表达式

使用表达式计算a+b=c,并将c的值显示到页面上

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jsp表达式的使用</title>
</head>
<body>
	<%
	int a, b, c;
	a = 10;
	b = 15;
	c = a + b;
	out.println("a+b="+c+"<br>");
	%>
	a+b=<%=c%>
</body>
</html>

运行结果↓
expression的使用|计算a+b=c

由此可见使用java语言与使用表达式可得到相同的结果,但是合理使用表达式使得页面更加简洁易懂,更易于维护。

Declaration~声明

JSP声明用于在JSP程序中合法声明变量,实例,方法和类。本案例主要介绍在声明下定义变量和在脚本中定义变量的区别

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP声明</title>
</head>
<body>
	<%!
		int i = 1; //声明在<%!>内的变量
	%>
	<%
	int j = 1; 	  //声明在<% >内的变量
	%>  
	i的值<%=++i%><br>
	j的值<%=++j%>
</body>
</html>

运行结果↓
定义初次
刷新多次后↓
多次刷新后
刷新后i和j的值不同的原因是因为
声明在<%!%>内的变量和方法是一个类内的变量即成员变量(全局变量)。
声明在<%%>内的变量是一个方法的变量(局部变量)
全局变量会被多个对象共享,局部变量是单独对象访问,所以i会自动增加,j不会递增.

学习工具:eclipse IED

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值