javaweb-jsp语法
jsp语法:
jsp基本构成:指令标签、html标记语言、注释、嵌入java代码、jsp动作标签。
1、指令标签
语法:<%@ directive attribute="value" attribute=value ...%>
directive:指令名称
attribute:属性名称
value:属性值
指令标签不会产生任何内容输入到网页中,主要用于定义整个jsp页面的相关信息
1.1、page指令
语法:<%@ page attr1="value1" attr2="value2"...%>
jsp最常用的指令,用于定义整个jsp页面的相关属性
1.1.1、language属性
语法:<%@ page language="java" %>
用于设置jsp页面使用的语言
1.1.2、extends属性
语法:<%@ page extends="相关父类" %>
设置jsp页面继承的java类。jsp本质为servlet是由java类定义的,可以继承指定的父类。
1.1.3、import属性
语法:<%@ page import="java.util.*" %>
设置jsp导入的类包
1.1.4、pageEncoding属性
语法:<%@ page pageEncoding="utf-8" %>
用于定义jsp页面的编码格式
1.1.5、contentType属性
语法:<%@ page contentType="text/html; charset=utf-8" %>
用于设置jsp页面的MIME类型和字符编码
1.1.6、session属性
语法:<%@ page session="false" %>
指定jsp页面是否使用http的session回话对象。可以为false/true
1.1.7、info属性
语法:<%@ page info="this is info" %>
设置jsp页面相关信息,可由Servlet接口的getServletInfo()方法获取
1.1.8、buffer属性
语法:<%@ page buffer="16kb" %>
设置jsp的out输出对象使用的缓冲区大小,默认为8KB,单位只能为KB,建议使用8的倍数。
1.1.9、autoFlush属性
语法:<%@ page autoFlush="false" %>
设置jsp页面缓存满时,是否自动刷新缓存。默认为true
1.2、include指令
语法:<%@ include file="targe.jsp" %>
用于包含文件,在jsp页面中包含另一个文件的内容,仅支持静态包含。
1.3、taglib指令
语法:<%@ taglib prefix="fix" uri="tagUriorDir" %>
prefix:该属性用于设置加载自定义标签的前缀
uri:该属性用于指定自定义标签的描述符文件位置
用于加载用户自定义标签
2、在jsp页面中嵌入java代码
语法:<% java代码 %>
2.1、声明全局变量/方法
语法:<%! 变量/方法定义 %>
定义的全局变量可以在整个jsp页面中使用。在jsp转换为Servlet类时,把jsp声明的变量/方法定义为类成员。
2.2、jsp表达式
语法:<%= 表达式 %>
可以直接把java的表达式结果输出到jsp页面中
3、注释
3.1、HTML注释
语法:<!--注释文本-->
3.2、jsp注释
语法:<%--注释文本--%>
3.2、java代码注释
单行注释://注释文本
多行注释:/*注释文本*/
javaDoc注释:/**注释文本*/
4、jsp动作标签
4.1、<jsp:include>
语法:<jsp:include page="url" flush="false|true"
page:指定被包含文件的相对路径。
flush:可选参数,设置是否刷新缓冲区,默认为false。
将另一个文件的内容包含到当前jsp页面中
4.2、<jsp:forward>
语法:<jsp:forward page="url"
将当前页面的请求转发给其他web资源,如jsp、HTML、servlet等。
4.3、<jsp:param>
语法:<jsp:param name="paraName" value="paramValue"
name:指定参数名。
value:设置参数值。
可做其它标签的字标签,为其它标签传递参数。
如:
<jsp:forward page="adduser.jsp" >
<jsp:param name="username" value="sunny" />
</jsp:forward>
4.4、操作JavaBean的动作标签
4.4.1、<jps:useBean>
语法:
<jsp:useBean
id="变量名"
scope="page|request|session|application"
{
class="完整类名"|
type="数据类型"|
class="完整类名" type="数据类型"|
beanName="完整类名" type="数据类型"
}
id:定义一个变量名
scope:设置Javabean的作用域
class:指定Javabean的完整类名,如com.jt.User
type:指定id属性的变量类型
beanName:不与class同在,指定Javabean的完整类名
在jsp页面中创建一个javaBean实例。
4.4.2、<jps:setProperty>
语法:
<jsp:setProperty
name="实例名"
{
property="*"|
property="属性名"|
property="属性名" param="参数名"|
property="属性名" value="值"
}
property="*":将请求中的参数与Javabean中的属性进行匹配,并赋值。
property:指定javabean中的属性名(必须有)
param:指定jsp请求中的参数名,通过该参数名可以将jsp请求参数的值赋给Java的属性。
对javabean属性赋值,javabean的属性要提供相应的setXXX()方法
4.4.3、<jps:getProperty>
语法:<jsp:getProperty name="实例名" property="属性名" />
获取Javabean中的属性值,Javabean的属性要提供相应的getXXX()方法
4.4.4、javabean的作用域
page:与当前的页面相对应,javabean的生命周期存在于一个页面中,当页面关闭时Javabean被销毁。
request:与jsp的request生命周期相对应,Javabean的生命周期存在于request对象中,当request对象销毁时Javabean被销毁。
session:与jsp的session生命周期相对应,Javabean的生命周期存在于session对话中,当session超时或会话结束时Javabean被销毁。
application:与jsp的application生命周期相对应,在各个用户与服务器之间共享,只有当服务器关闭时Javabean才被销毁。
浙公网安备 33010602011771号