java第三章

目录

[Jsp 页面的构成:](#Jsp 页面的构成:)

3.3jsp脚本元素

[3.3 jsp指令标记](#3.3 jsp指令标记)

3.4jsp动作标记


Jsp 页面的构成:

Html jsp注释 java脚本元素 jsp动作标记

Html注释<!--html注释-->

Jsp注释<%--注释--%>

用户能看到html注释看不到jsp注释

3.3jsp脚本元素

<%java代码%> 这个是java程序片格式,一个jsp网页可以有任意的jsp片,这些jsp将被tomcat服务器按顺序执行,在一个程序片中的变量称为局部变量

每个客户访问时都有一个线程,每个客户访问互相不受影响

<%! >这里称为成员变量,定义的变量在整个jsp页面都有效,这些变量的内存空间知道服务器关闭才失效,所有用户公用

这里声明的方法是成员方法,方法在页面有效果,但是方法定义的变量只在方法内有效果

<%!

int i = 0;

i++; // 这是错误的,不能在这里执行递增操作

%>

如果你想要对变量 i 进行递增操作,你需要在JSP的脚本let标签 <% %> 内进行,如下所示:

<%!

int i = 0; // 声明变量

%>

<%

i++; // 在脚本let标签内进行递增操作

%>

在 <% %> 标签内,你可以编写任意的Java代码,包括赋值、循环、条件判断等。而 <%! %> 标签仅用于声明那些需要在JSP页面多个请求之间保持状态的成员变量或方法。

<%= %>里面可以插入一个表达式,这个表达式必须能求值,由web服务器负责计算,但返回的值为字符串

<%=n %>就是输出n的值

3.3 jsp指令标记

1.page指令

Page指令标记用来定义整个jsp页面的一些属性和这些属性的值(可以用一条指令指定多个,也可以一条一个)

主要指令有contenttype,include,language,pageEncoding等

1.只能为contentType属性定一个值,用来确定响应的mime类型

<%@page contentType="application/msword;charset=UTF-8"%>

常见:text/html网页形式

  1. include属性作用为 为jsp页面引入包中的类,页面也行,只不过嵌入的contenttyoe应该一致

<%@include file="文件的url"%>

  1. Language属性的作用是指定jsp页面的脚本语言,目前只有java
  2. Pageencoding属性中的charset是指服务器发送给客户浏览器时所见的网页内容的编码,Pageencoding这个本身是存储时所用的编码

3.4jsp动作标记

常用的动作标记:include、forward、usebean......

include动作标记主要是动态嵌入,与指令标记的区别是先处理后包含,页面的contenttype可以不一致

语法有两种格式:

第一种:<jsp:include page="文件的url"/>

第二种:

<jsp:include page="文件的额url" >

子标记:可以传参

<jsp:include/>


Forward:停止后转向

语法:

第一种<jsp:forward page="文件的url"/>

第二种:

<jsp:forward page="文件的url">

子标记:能给参数

</jsp:forward>


Param:不能单独使用,但是可以当作include和forward的子标记,该标记为"名字-子标记"

<jsp:父标记 page = "接收参数页面的url">

<jsp:param name = "参数名" value= "参数值/">

</jsp:父标记>

接收参数的页面可以使用内置对象request调用getParameter("参数名")获取动作标记param传递过来的参数值

相关推荐
geovindu1 分钟前
rust:Memento Pattern(续)
开发语言·后端·设计模式·rust·行为模式·备忘录模
马优晨10 分钟前
JAVA 中 VO 实体类是什么意思,为什么要做这个
java·开发语言·状态模式·java vo·java vo是什么
Aurorar0rua17 分钟前
CS50 x 2024 Notes Python - 01
开发语言·python·学习方法
Baron X34 分钟前
Eclipse Temurin 21 (JRE) Alpine 镜像获取、离线导入与推送操作
java·docker·eclipse·temurin
孙浩君1 小时前
我用 Spring Boot + xterm.js 写了个终端风格互动叙事游戏引擎:游戏即文件,上传一个 JSON 就能玩
java
jose1 小时前
URL 里多写了一个端口,为什么请求还能调通?
java·后端
孙浩君1 小时前
我用 Spring Boot 写了个「终端风格模拟经营游戏引擎」:引擎 + JSON 游戏文件,开箱即玩
java
茉莉玫瑰花茶1 小时前
GO [ 标准库 ]
开发语言·后端·golang
y1su1 小时前
Leetcode 动态规划 模板
java·数据结构·算法·leetcode·动态规划
半杯咖啡半行码1 小时前
C++11核心特性详解:从C++11到C++20 的现代C++指南
开发语言·c++