jsp语法

本文详细介绍了JSP的基础语法,包括表达式、脚本片段、声明、注释及指令等内容,帮助初学者快速掌握JSP的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Jsp表达式
格式:<%=变量或表达式  %>
作用: 向浏览器输出变量的值或者是表达式计算的结果
注意:
1jsp表达式是使用out.print( );方式向浏览器输出内容
2)表达式最后不要加上分号。

二、Jsp脚本片段(局部变量)
格式: <%  java代码(语句)  %>
作用: 执行java代码
注意:
1Jsp的脚本内容原封不动直接翻译到_jspService方法中,在执行_jspService方法时脚本代码会被执行。
2Jsp脚本可以写多行java语句,而且中间可以穿插html代码;不能在脚本中插入函数(方法)语句,因为函数不能嵌套函数。

三、Jsp声明(成员变量、成员方法)
格式:<%! 变量或方法 %>(有个感叹号)
作用: 用于声明jsp的变量或方法
注意:
1脚本片段都是局部变量或语句,而jsp声明的变量是成员变量。
2jsp声明的方法是成员方法,脚本片段不能声明方法!!!!
3)不能声明和java源码码相同名称的方法,例如 _jspInit() 不能声明此方法。

例如:
<%!
static
{
System.out.println("loading Servlet!");
}
private int globalVar = 0;
public void jspInit()
{
System.out.println("initializing jsp!");
}
%>
<%!
public void jspDestroy()
{
System.out.println("destroying jsp!");
}
%>
四、Jsp注释
格式: <%-- jsp注释 --%>
注意:
jsp页面中html的注释<!-- -->会被当前内容执行。而jsp的注释<%-- jsp注释--%>不会被翻译和执

五、Jsp指令
JSP指令的基本语法格式:
<%@ 指令 属性名="" %>
举例:<%@ page contentType="text/html;charset=UTF-8"%>
如果一个指令有多个属性,这多个属性可以写在一个指令中(用空格隔开),也可以分开写。
例如:
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page import="java.util.Date"%>
也可以写作:
<%@ page contentType="text/html;charset=UTF-8" import="java.util.Date"%>

1@taglib指令
主要用于在使用jsp的标签库时,导入标签库的指令

2@include指令
include指令用于引入其它JSP页面,如果使用include指令引入了其它JSP页面,那么JSP引擎将把这两个JSP翻译成一个servlet所以include指令引入通常也称之为静态引入。
格式: <%@include  file="包含的页面路径" %>
作用: 用于包含其他页面。
其中的file属性用于指定被引入文件的相对路径。  file属性的设置值必须使用相对路径,如果以/”开头,表示相对于当前WEB应用程序的根目录(注意不是站点根目录),否则,表示相对于当前文件。
<%--在当前页面包含common/header.jsp页面 --%>
  <%@include file="common/header.jsp"%>
注意:
1包含与被包含的页面只生成一个java源代码。把包含与被包含的页面先合并翻译成一个java源文件,然后再编译运行!!,这种包含叫静态包含!!!(源码级别包含)
2)被包含的页面不需要写全局的html标签(例如:html/head/body
 
细节:
被引入的文件必须遵循JSP语法。
被引入的文件可以使用任意的扩展名,即使其扩展名是htmlJSP引擎也会按照处理jsp页面的方式处理它里面的内容,为了见明知意,JSP规范建议使用.jspf(JSP fragments)作为静态引入文件的扩展名。
由于使用include指令将会涉及到2JSP页面,并会把2JSP翻译成一个servlet,所以这2JSP页面的指令不能冲突(除了pageEncoding和导包除外)

3@page指令
page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好是放在整个JSP页面的起始位置。
格式: <%@page  %>
<%@ page 
language="java"      //服务器使用什么语言来翻译这个jsp文件
import="java.util.*"   //导入其他包或类。除了java.lang.*以外的包或类都需要导入。多个包之间以逗号分隔
pageEncoding="utf-8"   //服务器在翻译jsp文件时查询的码表
contentType="text/html; charset=utf-8"  //指定jsp页面内容向浏览器发送时的数据编码
注意:影响jsp编码的问题
1)保存jsp文件时
2)翻译jsp文件时
3)服务器向浏览器输出内容时
Jsp2.0之后:
1contentType的编码会根据pageEncoding的编码进行自动设置
2)在ecplise工具中,只要指定pageEncoding的编码,那么保存jsp文件时会自动根据此编码来保存。
结论:在jsp2.0之后,jsp文件只需要在page指令中指定pageEncoding编码即可!!!!
 
buffer="8kb" //指定当前页面内容的缓冲大小
errorPage=""  //jsp页面发生错误时,指定错误处理的页面
isErrorPage="false" //这个属性是在错误处理页面指定的。如果该属性为true,则可以使用exception内置对象来输出错误信息。如果为false,则不能使用exception
session="true"  //开启session会话功能
isELIgnored="false" %>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值