JSP脚本元素
1、在jsp中嵌入的服务端运行的小程序称为脚本、实质是java程序。
2、脚本元素可以分为三类:表达式、Scriptlet、声明。
表达式
计算java表达式的值,得到的结果转化为字符串,在jsp页面中显示相应的信息
语法格式:<%=java表达式%>
具体说明:
<%="和”%>是一个完整的符号,符号中间不能有空格。
表达式能够求值
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表达式</title>
</head>
<body>
<h3 align="center">JSP表达式的演示</h3>
<%=4+3 %><br><!-- <br>表示换行 -->
<%=8>4 %><br>
<%=Math.PI %><br>
<%=request.getParameter("userName") %>
</body>
</html>
Scriptlet
在jsp页面中嵌入一段有效的java程序段,可以是变量的声明也可以是方法的调用。
语法格式:
<%Java 代码%>
具体说明:
<%“和”%>是一个完整的符号,符号中间不能有空格.
<%%>中不能定义类和方法,不能引入外部的类
在Scriptlet定义的变量在当前整个页面有效,不会被其他的线程调用
实例:
1、输出一个直角三角形用数字
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>以直角三角形的形式显示数字</title>
</head>
<body>
<h1 align="center">以直角三角形的形式显示数字</h1>
<%
for (int i = 0; i < 10; i++) {
for (int j = 1; j <= i; j++) {
%>
<%=j%>
<%
}
%>
<%="</br>"%>
<%
}
%>
</body>
</html>
实例2:显示九九乘法表的结果并且显示当前桌面的日期
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>输出九九乘法表</title>
</head>
<body>
<h1>输出九九乘法表</h1>
<%
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
%>
<%=(i * j)%>
<%
}
%>
<%="<br>"%>
<%
}
%>
<h2>显示当前系统的时间</h2>
<%
Date now=new Date();
String name="xiaohong";
%>
<%=now.toLocaleString() %><!-- 输出内容到桌面 -->
<%=name %>
</body>
</html>
声明
在jsp页面中声明java方法或变量
语法格式:
<%!Java代码%>
具体说明:
- 1、<%!“和”%>是一个完整的符号,符号中间不能有空格.
- 2、声明的语法与在java语言中的声明变量和方法是一样的
- 3、在页面中声明的变量和方法在整个页面中都有效,而且会被多个线程所共享。
实例:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>声明</title>
</head>
<%!
int a=5;//声明变量
public String SayName(String name){ //声明方法
return "Welcome:"+name+"!";
}
%>
<body>
<h1>声明</h1>
<%=a %></br>
<%=SayName("小红") %>
</body>
</html>
实例2:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>金钱的转换</title>
</head>
<body>
<h1>金钱的转换,由整形转换为小数</h1>
<%!final String POINT = ".";//声明常量
public String TransMony(String money) { //声明转换的方法
// 返回指定字符在字符串中第一次出现处的索引,
//如果此字符串中没有这样的字符,则返回 -1。
int index = money.indexOf(POINT);
String str = money;
if (index == -1) {
return money + ".00";
}
return str;
}%>
<%
String money1 = TransMony("14");
String money2 = TransMony("19.00");
%>
<%=money1%></br>
<%=money2%>
</body>
</html>