JSP基础语法:
<pre>
JSP基础语法
一、JSP的注释
1、显示注释:
查看网页源代码能够看到的注释
a、继承HTML风格的注释: <!-- 这是HTML的注释 -->
<!-- 这是HTML的注释 -->
2、隐式注释
查看网页源代码能够看不到的注释
a、JSP自己的注释: <%-- 这是JSP的注释 --%>
<%-- 这是JSP的注释 --%>
b、继承Java风格的注释: // 单行注释 /*多行注释*/
<%
// 单行注释
/* 多行注释 */
%>
二、Scriptlet脚本小程序
所有嵌入在 HTML 代码中的 Java 程序都必须使用 Scriptlet 标记出来。
JSP一共有三种scriptlet:
1、java脚本段
语法:<% // 这里面可以写Java代码,声明局部变量、编写java语句等 %>
代码会生成在编译后的Servlet源码中的service方法体中
<%
int a = 1;
System.out.println(a);
System.out.println(str);
%>
2、声明全局变量、方法、类
语法: <%! // 声明全局变量、方法、类 %>
代码会生成在编译后的Servlet源码的类体中
<%!
String str = "Hello JSP";
%>
3、输出表达式
语法: <%=变量或字面量、表达式 %>
代码会生成在编译后的Servlet源码中的service方法体中
<%=a %> <br>
<%=100 %> <br>
<%=request.getMethod() %><br>
<%
String txt = "Hello JSP";
%>
<%=txt %>
<%
out.print(txt);
%>
</pre>
page指令标签:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
import="java.util.*" isErrorPage="false" errorPage="error.jsp"%>
Page指令
语法: <%@ page 属性名1="属性值1" 属性名2="属性值2" %>
language:当前语言,目前只支持java
contentType:设置响应类型及编码格式
pageEncoding:编码格式
import:导包;只有该属性可以被设置多次
isErrorPage:是否是处理错误的页面,默认是false; 如果设置true表示当前页面是用来处理报错的;一般与errorPage一起使用
errorPage:报错时跳转的页面
JSP的编码取决于contentType属性中的charset的值,如果charset未设置,则使用pageEncoding的值,若两者都未设置,使用默认编码ISO-8859-1
<%
List<String> list = new ArrayList<>();
int a = 1/0;
%>
include静态包括:
<!--
include静态包含
语法:<%@include file="要包含的页面路径" %>
将一个页面包含在另一个页面中
1、静态包含就是将内容进行了直接的替换
2、只会生成一个源码文件
3、不能有同名变量
特点:
运行效率高一点点
耦合度高,不够灵活
-->
<!-- 静态包含页面 -->
<%@include file="header.jsp" %>
<h2>----主体内容 --- </h2>
<h3>我是底部信息!</h3>
include动态包含:
<%--
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>