jsp页面就是在HTML的基础上可以使用Java代码,所以一个jsp页面可以直接使用HTML的标签,也可以通过通过jsp的一些语法使用java代码。
JSP脚本语法:用来在JSP中写java代码
<% java语句 %>
声明语句:声明一个或多个变量、方法,以供后面的 Java 代码使用
<%!
java代码
//声明中的代码会被编译到jsp生成的java类中,而其他地方的代码会生成到jspService方法中
%>
JSP表达式:可以把变量或者表达式输出到网页上,不需要 out.print() 就能输出数据。
它是先转化成String,然后插入到表达式出现的地方。由于表达式的值会被转化成String,所以可以在一个文本行中使用表达式而不用去管它是否是HTML标签。表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
<%=表达式 %>
注释:
直接使用HTML 注释: (可以通过 HTML 源代码看到这些注释内容)
带有 JSP 表达式的注释: (HTML 源代码可看注释内容)
脚本语法中使用Java注释:<% //可使用java的三种注释 %>
JSP隐藏注释:<%--注释内容--%> (不显示注释)
指令:JSP 指令在翻译阶段执行,设置整个 JSP 页面的属性。JSP 页面被执行时首先进入翻译阶段,程序会先查找页面中的 JSP 指令,并将它们转换成 Servlet。JSP 指令是在页面转换时期被编译执行的,且编译一次。
以<%@开始 , 以%>结束
page指令:用来定义当前页面的相关属性。通常放在 JSP 页面的顶部。
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
属 性 | 取 值 | 说 明 | 举 例 |
---|---|---|---|
buffer | none、缓冲区大小(默认值为 8kb) | 指定输出流是否有缓冲区 | <%@ page buffer=“16kb” %> |
autoFlush | true(默认值)、false | 指定缓冲区是否自动清除 | <%@ page autoFlush=“true” %> |
contentType | text/html; charset = UTF-8 等 | 指定 MIME 类型和字符编码 | <%@ page contentType=“text/html;charset=UTF-8” %> |
errorpage | 页面路径 | 指定当前 JSP 页面发生异常时,需要重定向的错误页面 | <%@ page errorpage=“myerrorpage.jsp” %> 注意: isErrorpage 值必须为 true |
isErrorpage | true、false(默认值) | 指定当前页面为错误页面 | <%@ page isErrorpage=“true” %> |
extends | 包名.类名 | 指定当前页面继承的父类,一般很少使用 | <%@ page extends=“”%> |
import | 类名、接口名、包名 | 导入类、接口、包,后JSP内使用的类需要导入 | <%@ page import = " java.util.Date" %> |
info | 页面的描述信息 | 定义 JSP 页面的描述信息,可以使用 getServletInfo() 方法获取 | <%@ page info=“页面信息”%> |
isThreadSafe | true(默认值)、false | 是否允许多线程使用 | <%@ page isThreadSafe=“false” %> |
language | 脚本语言 | 指定页面中使用的脚本语言 | <%@ page language= “java” %> |
session | true(默认值)、false | 是否使用 session | <%@ page session=“false” %> |
isELIgnored | true、false(默认) | 是否使用 EL表达式。为true时会当成字符串处理,false是计算表达式的值 | <%@ page isELIgnored=“false” %> |
include指令:用于在 JSP 页面引入其它内容,如:JSP 文件、html 文件和文本文件等
<%@ include file="URL" %>
taglib 指令:引入标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
动作:控制服务器的行为,JSP 动作在请求处理阶段执行,它们只有执行时才实现自己的功能。通常用户每请求一次,动作标识就会执行一次。利用 JSP 动作可以动态地插入文件、重用 JavaBean 组件、把用户重定向到另一个页面、为 Java 插件生成 HTML 代码等。
动作 | 说明 | 语法 |
---|---|---|
jsp:include | 页面被请求时引入一个文件 | |
jsp:userBean | 实例化JavaBean | 作用域: page:在当前页面使用该 Bean 对象; request:在一次请求范围内使用该 Bean 对象; session:在一次会话范围内使用该 Bean 对 application:在整个应用范围内使用该 Bean 对象。 |
jsp:setProperty | 设置 JavaBean 的属性 ,在 | * 时,只要request中的参数名和属性一致,系统会根据名称来自动匹配。 |
jsp:getProperty | 获取 JavaBean 的属性 | |
jsp:forward | 访问当前页面时,可以转发到指令的页面 | |
jsp:plugin | 根据浏览器类型为Java插件生成OBJECT或EMBED标记 | |
jsp:element | 定义动态 XML 元素 | |
jsp:attribute | 设置动态 XML 元素的属性 | |
jsp:body | 设置动态 XML 元素的内容 | |
jsp:param | 动作用来传递参数信息,经常和其它动作一起使用 | 可以使用表达式获取name的值 <%=request.getParameter(“username”)%> |
jsp页面的初始结构:
<%--jsp页面的大致框架,文件头解决编码等问题--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%String path = request.getContextPath();%> <%--jsp代码,获得项目路径--%>
Title