JSP基本语法
<% %>
该符号内部用于写java代码
JSP的脚本元素
<%! %>
1,内部用于声明类内部变量,该变量属于全局的变量,整个JSP页面可以进行调用
2,该符号内部可以用于构建方法(有无返回值均可)
<%= %>
1,该符号内部不能出现分号(;)
2,该符号中一定是一个字符串,或者是可以转换为字符串的JAVA代码
3,该符号内部如果调用函数,函数一定是有返回值的方法,否则出现编译时错误
<% %>
1,该符号内部用于写JAVA代码
2,该符号内部可以声明变量,但该变量数据方法内部的局部变量
JSP指令元素
<%@page %>
page指令:设定整个JSP网页的属性和相关功能。
<%@page attri1=“” attri2=“” … %>
attribute可选值:
import =“” 指明该JSP可以使用那些JAVA API
session=“true/false” 指明该JSP是否可以用session对象
pageEncoding=“” 指明该JSP网页的编码方式
contentType =“ ” 表示MIME类型和JSP的编码方式
buffer=“none/size kb” 设置缓冲区,默认8KB
autoFlush=“true/false” 是否自动清楚缓冲
langugae=指明小脚本片断使用的语言,默认java
extends =“” 指明生成的servlet继承那个父类
errorPage=“” 异常后的重定向URL
isThreadSafe=“true|false”
<%@page import =“java.net.*, java.util.List” %>
导入多个包的时候可以分开写,也可以用,隔离
除import属性外,其他属性只能设置一次
<%@page contentType=“text/html;charset=UTF-8” %>
<%include %>
1,包含静态网页
被包含文件code.jsp :
<%@ page contentType="text/html;charset=UTF-8"%>
欲穷千里目,<br>
<%="更上一层楼。"%>
文件inc.jsp:
<%@ page contentType="text/html;charset=UTF-8"%>
<html>
<head>
<title>inc.jsp</title>
</head>
<body>
<center>
<%@ include file="code.jsp" %>
</center>
</body>
</html>
<%@taglib %>
1,添加JAVA代码所需要引入的外部jar包
JSP动态元素
< jsp:include > </jsp:include >
1,引入动态页面
<jsp:include page=“Hello.html”/>
<jsp:include page=“script/login.jsp”>
<jsp:param name=“username”value=“rose”/>
<jsp:param name=“password”value=“1234”/>
</jsp:include>
< jsp:forward > </jsp:forword>
1,服务器内部的跳转
2,无论执行多少次都属于一次请求
<%
out.println(“会被执行!!!”);
%>
<jsp:forward page=“go.jsp”>
<jsp:param name=“name” value=“Tom”/>
</jsp:forward>
<%
out.println(“不会被执行!!!”);
%>
< jsp:param> </jsp:param>
1,添加参数
2,一般配合上面两个动态元素使用
JSP注释
<!-- -->
客户端可见的注释
<%-- --%>
客户端不可见的注释
<% /* */ %>
正常的JAVA注释,客户端不可见
为了避免显示内容和HTML标签产生语法混淆,部分标签在当内容显示的时候要修改:
斜线
\ – \
<% – <%
%> – %>
单引号‘ – \’
双引号” – \”
${ – ${
< jsp:include> 与<%@include >的区别
动态包含使用< jsp:include> 标签来实现
< jsp:include page=“included.jsp” flush=“true” />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
动态包含可以给被包含的页面传递参数
静态包含使用include伪码实现
不会检查所含文件的变化,适用于包含静态页面
静态包含不能给被包含的页面传递参数
课后总结
以下代码是否正确?如果不正确如何改正
<%=request.getSession(“username”);%>
<%include page=“top_page.htm”%>
%@include与jsp:include有什么区别?两种指定怎样在页面之间传递参数?
jsp:forward标签通过哪个属性来进行页面跳转?