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>

JSP脚本知识的更多相关文章

  1. JavaWeb学习----JSP脚本元素、指令元素、动作元素

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  2. Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识

    JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 ...

  3. JSP脚本元素上机手册

    L3 <JSP基础>上机手册 内容回顾 脚本元素<%! %> <%= %> <% %> 注释元素 JSP指令元素 JSP动作元素 上机目标 掌握脚本元素 ...

  4. JSP脚本元素、指令元素、动作元素

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. Oracle手边常用70则脚本知识汇总

    Oracle手边常用70则脚本知识汇总 作者:白宁超 时间:2016年3月4日13:58:36 摘要: 日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规 ...

  6. JSP脚本中的9个内置对象

    JSP脚本中包含9个内置对象,这9个内置对象都是Servlet API接口的实例,只是JSP规范对它们进行了默认初始化.也就是说它们已经是对象,可以直接使用. 我们随意打开一个由JSP页面生成的Ser ...

  7. jstl和jsp脚本变量相互访问

    1.jsp脚本访问jstl标准动作的变量,可以通过隐式的范围变量来获取,对于页面作用域的变量,可以通过pageContext.getAttribute()来获取,也可以通过动作来获取: <c:s ...

  8. JSP基本知识

    JSP基本原理: JSP本质是Servlet(一个特殊的Java类),当用户向指定Servlet发送请求时,Servlet利用输出流动态生成HTML页面.JSP通过在标准的HTML页面中嵌入Java代 ...

  9. JavaEE系列之(一)JSP基础知识详解

    一.JSP基础语法     1.JSP简介        JSP(Java Server Pages),其根本是一个简化的Servlet设计,它实现了在Java中使用HTML标签.JSP是一种动态网页 ...

随机推荐

  1. jquery转换为同步请求

    $.ajax({ async: false, //采用异步的方式提交,不添加默认是异步,布尔值为 true type : 'POST', url : 'https://i-beta.cnblogs.c ...

  2. NodeJS & Dapr Javascript SDK 官方使用指南

    Dapr 是一个可移植的.事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的.无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架.Dapr 确保开发人员专注 ...

  3. WPF主窗体调用 User32的SetWindowPos 设置窗体置顶会导致与其他窗体抢夺焦点的问题

    最近发现:自己开发的窗体应用,在二级弹窗或者提示框弹出的时候,交替点击窗体和窗体外(相当于窗体交替的获取焦点和失去焦点),都会导致其他的应用一闪一闪的. 经过排查,是由于该窗体由于部分因素考虑,用了  ...

  4. pytest自动化框架

    百度网盘链接:https://pan.baidu.com/s/1SvNRazeqHSy7sFHRtJz18w?pwd=0709 提取码:0709 插件: @pytest.mark.skip(reaso ...

  5. 从零开始Blazor Server(10)--编辑角色

    例图 目前的样式是这样的: 其中角色在一个table里,然后可以增删改查,并且可以给指定的用户分配权限. 创建文件 首先我们在Pages/Admin目录下新建一个Role.razor.因为我们的Adm ...

  6. SpingBoot解析Excel数据

    前言 在最近的工作中,由于导入模板除了前三列(姓名.手机号.实发工资)固定:其余的列不固定,并且可以做到两个模板的数据都能够正常入库进行对应业务处理. 一.数据模板数据展示: (1)模板一 (2)模板 ...

  7. Html5新增内容标签

    <canvas>画布</canvas> <audio src=""></audio> <video src="&qu ...

  8. K8S_删除Pod总结

    K8S 不能直接删除Pod,直接删除Pod,会被Deployment重启 删除前,必须先删除对应的Deployment 例子: // 查出Pod [root@k8s-master ~]# kubect ...

  9. 目标检测-SSD算法从零实现

    1. 几个工具函数 def box_corner_to_center(boxes): """从(左上,右下)转换到(中间,宽度,高度)""" ...

  10. 为什么最近每份 Android 简历都说 “熟悉 MQTT 协议”?

    请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...