基础语法
一.JSP的注释
1.显式注释
查看网页源代码时能看到的注释
a.继承HTML风格的注释: <!--这是HTML注释 -->
2.隐式注释
a.查看网页源代码不能看到的注释<%--这是JSP注释 --%>
b.继承Java的注释:// 单行注释 /*多行注释*/但要写在<%%>里
二.Scriptlet脚本小程序
所有嵌入在 HTML代码中的Java程序都必须用Scriptlet标记出来
JSP共有三种scriptlet
1.Java脚本段
语法:<%这里面写Java代码 %>
,代码会生成在编译后 的servlet源码中的service方法体中
例:<% int a = 1; System.out.println(a); System.out.println(str); %>
2.声明全局变量,方法,类
语法:<%!在这里声明,和上面不同的是多加了一个感叹号 %>
例:<%! String str = "Hello JSP"; %>
3.输出表达式
语法:<%=在这里声明 变量 或字面量,表达式%>
,代码会生成在编译 后的Servlet源码的service方法体中
例:
<%=a %> <br>
<%=100 %> <br>
<%=request.getMethod() %><br>
<%
String txt = "Hello JSP";
%>
<%=txt %>
<%
out.print(txt);
%>
Page指令
语法:`<%@ page 属性名="属性值" 属性名1="属性值1"%>`;
language :当前语言,目前 只支持Java
contentType: 设置响应类型及编码格式
pageEncoding:编码格式
import:导包,只有该 属性可以被设置 多次(因为要导的包不止一个啊...)
isErrorPage:是否处理错误时的页面,默认false ;若设置true表示当前页面 时用来处理报错,一般与errorPage一起使用. errorPage:报错时跳转的页面
JSP的编码取决于contentType属性中的charset的值,如果charset未设置,则使用pageEncoding的值,若两者都未设置,则使用默认编码ISO-8859-1
静态包含&动态包含
include静态包含
语法:<%@include file="要包含的路径"%>
,将一个页面包含在本页面中
1.静态包含就是将内容进行直接替换
2.只会生成一个源码文件,(类似合并的感觉)
3.因为第2条,所以不能有同名的变量
特点:运行效率高一些,但耦合度高,不灵活
例:`
<%@include file=“header.jsp” %>
----主体内容 ---
我是底部信息!
<%
int a = 1;
%>`
include动态包含
语法:<jsp:include page="要包含的页面或资源路径"></jsp:include>
相当于方法的调用,会生成两个源码 问价,可以出现同名变量,耦合度低
注:<jsp:include>
的双标签之间不能写任何内容,任何!(除非有参数)
动态包含可以传递参数:
<jsp:param value=“参数值” name=“参数名”/>
value属性支持表达式
name属性不支持表达式
获取参数通过 request.getParameter(“name属性值”);
例:<jsp:include page="header.jsp"></jsp:include>
<h2>----主体内容 --- </h2>
<%
String val = "zhangsan";
String name = "uname";
%>
<jsp:include page="footer.jsp">
<jsp:param value="<%=val %>" name="uname"/>
</jsp:include>
<%
int ab = 10;
%>
(9大)内置对象
<%
// 当前页的域对象pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的 out. request. reponse. session. application
pageContext.getAttribute("");
pageContext.getRequest();
pageContext.getResponse();
//request域对象
request.getAttribute("");
// session域对象
session.getAttribute("");
// application域对象
application.getAttribute("");
// 输出对象
response.getWriter();
out.write("");
// 配置对象
config.getServletContext();
// 当前JSP页面本身
page.getClass();
// 异常对象 只要在页面中设置过isErrorPage=true时才能使用
%>