天天看点

JSP脚本知识

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>      
<%@ 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>