5、第2篇 JSP语言基础之----JSP基本语法
来源:互联网 发布:淘宝兼职正规平台 编辑:程序博客网 时间:2024/06/07 05:01
对应于书本第5章
总结:JSP在服务器端执行。
JSP是什么?
传统的HTML文件中加入java代码段形成JSP(Java Server Pages)文件。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP结构?
JSP可以包含指令标识、动作标识、html代码、JavaScript代码、Java代码等等。
指令标识
作用:设定整个JSP的信息
语法:
<%@ 指令名 属性1=”值1” 属性2=”值2”…….%>
JSP中指令有:page、include、taglib三个
多个属性可以一起写,也可以分开写
page指令:
属性有:language、extends、import、pageEncoding、contentType、session、buffer、autoFlush、isErrorPage、errorPage等。
例:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%><%@ page import="java.text.SimpleDateFormat"%>session属性:该JSP页面是否使用session,true表示用,false表示不用。session是JSP内置对象<%@ page session="false"%>buffer属性:设置JSP的out输出对象的缓冲区大小,默认为8KB,一般都是8的倍数如16、32、64等<%@ page buffer="128kb"%>autoFlush属性:JSP页面缓存满时是否自动刷新<%@ page autoFlush="false"%>isErrorPage属性:是否将当前JSP页面设置为错误处理页面<%@ page isErrorPage="false"%>errorPage属性:指定该页面错误时应转到哪个错误处理页面<%@ page errorPage="error/loginErrorPage.jsp"%>
include指令:
文件包含指令,在某个JSP文件中包含另一个JSP文件,是静态包含。
什么是静态包含?就是相当于代码分开写在两个文件中,包含进来再一起执行。而动态包含里有页面的跳转。
包含和被包含文件不能有相同的变量
要求:html、head、body等标记只写在主文件中,被包含文件中不要写。
语法:
<%@ include file="被包的文件名,可以是完整路径表示"%>例:<body style="margin:0px;"><%@ include file="top.jsp"%><table width="781" height="279" border="1" cellpadding="0" cellspacing="0" background="images/center.JPG"> <tr> <td> </td> </tr></table><%@ include file="copyright.jsp"%></body>此代码即是导入了两个被包含文件
taglib指令:
作用:声明该页面中使用的标签库,同时引用标签库,并指定标签的前缀。在页面引用标签库后,就可通过前缀来引用标签库中的标签。
语法:<%@ taglib prefix="标签的前缀" uri="标签库文件的位置" %>例如,引用JSTL的核心标签库<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
脚本标识
有三种:
<%= 表达式 %><%! 声明变量或方法的代码 %> // JSP页面中定义全局的变量或方法<% Java代码或脚本代码 %>
JSP注释
Java或JavaScript部分:// 或/* */html部分: 一般<!-- -->,隐藏注释<%-- --%>
动作标识
三个:
<jsp:include><jsp:forward><jsp:param>
(1)
<jsp:include>,包含文件,可以是静态文件也可是动态文件语法:<jsp:include page="被包文件" flush="false/true" />或<jsp:include page="被包文件" flush="false/true" > 子动作标识<jsp:param></jsp:include>说明:flush:可选属性,用于设置是否刷新缓冲区,默认为false子动作标识<jsp:param>:用于向被包含的动态页面中传递参数
例
<body style="margin:0px;"><jsp:include page="top.jsp"/><table width="781" height="279" border="1" cellpadding="0" cellspacing="0" background="images/center.JPG"> <tr> <td> </td> </tr></table><jsp:include page="copyright.jsp"/></body>
比较:
前面讲的include指令与动作啥区别?
指令的file属性不支持任何表达式,而include动作的page属性支持JSP表达式;
include指令相当于是代码分开写但是一起执行,而动作是分别编译执行;
include指令的两个文件中不能有重名的变量或方法,include动作因为是单独编译的所以主文件和被包文件没有冲突。
(2)
<jsp:forward>语法:<jsp:forward page="url"/>或<jsp:forward page="url">子动作标识<jsp:param></jsp:forward>
例子:
有两个文件index.jsp 和login.jsp
其中index.jsp如下:
<html><head><title>中转页</title></head><body><jsp:forward page="login.jsp"/></body></html>
(3)传递参数标识
语法:<jsp:param name="参数名" value="参数值"/>
例:通过jsp:param为jsp:forward指定参数
<jsp:forward page="modify.jsp"> <jsp:param name="userId" value="7"/></jsp:forward>
最后课后练习,里面有几行代码还要理解
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> </head> <body> </body></html>
- 5、第2篇 JSP语言基础之----JSP基本语法
- JSP——第2章: JSP语法基础
- JSP基础语法2
- 一、JSP之JSP基础语法
- JSP教程【2】JSP基本语法
- JavaWeb基础之一JSP语法(二) JSP基本语法(2)
- Jsp基础1:基本语法和使用
- JSP基础——JSP的4种基本语法
- JSP基础(四)——JSP的基本语法
- JSP 一 Jsp基本语法
- jsp--1.JSP基本语法
- JSP--(Jsp基本语法)
- jsp基础语法(2)
- 学习笔记之javaweb基础:jsp基本语法,内置对象,对JavaBean的操作语法
- 《JSP开发技术》读书笔记之基本语法
- java web 之jsp基本语法
- JSP入门之4种基本语法
- JavaWeb学习之JSP基本语法
- request.getparameter和request.getAttribute有什么区别
- 我的第一篇技术文档
- c++ 面向对象编程
- ERROR: JDWP Unable to get JNI 1.2 environment解决办法
- Android中的LayoutInflater简介
- 5、第2篇 JSP语言基础之----JSP基本语法
- 多线程 - 显式锁-读写锁ReadWriteLock
- Matlab实现手写数字识别(PCA+KNN)
- 解决OneThink的数据库配置异常
- Python安装新的package
- TabLayout
- HashMap、hashtable以及ConcurrentHashMap的区别
- multidex 应该混淆,否则经测试会找不到类,原因待查
- 解决win7资源管理器下进行文件快速定位时总自动跳到搜索框里的问题