目录
[Jsp 页面的构成:](#Jsp 页面的构成:)
[3.3 jsp指令标记](#3.3 jsp指令标记)
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网页形式
- include属性作用为 为jsp页面引入包中的类,页面也行,只不过嵌入的contenttyoe应该一致
<%@include file="文件的url"%>
- Language属性的作用是指定jsp页面的脚本语言,目前只有java
- 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传递过来的参数值