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才被销毁。

posted @ 2020-11-01 11:32  jt_coder  阅读(231)  评论(0)    收藏  举报