Jsp语法、指令及动作元素
一、JSP的语法
1、JSP的模板元素:(先写HTML)
就是JSP中的那些HTML标记
作用:页面布局和美化
2、JSP的Java脚本表达式:
作用:输出数据到页面上
语法:<%=表达式%>(实际上就是调用输出流打印到页面上)
3、JSP中的Java脚本片段:(实际开发中,应做到JSP中不能出现一行Java脚本片段)
作用:书写Java代码逻辑
语法:<%
语句1;
语句2;
%>
语句为Java语句
原理:其中的语句会原封不动的被服务器翻译到对应的Servlet的service方法中。
4、JSP的声明:(了解其原理)
作用:定义类的成员
语法:<%!
Java代码
%>
5、JSP的注释:
作用:注释Java脚本代码
语法:<%--这是注释--%>
Jsp注释在客户端查看源文件无法看到,而Html注释在客户端可以看到
二、JSP的指令:给JSP引擎用的(服务器用的)
基本的语法格式:<%@ 指令名称 属性1="值1" 属性2="值2" ....%>
作用:告诉服务器,该如何处理JSP中除了指令之外的内容的。
1. page
作用:定义JSP页面的各种属性
属性: language:指示JSP页面中使用脚本语言。默认值java,目前只支持java。
extends:指示JSP对应的Servlet类的父类。不要修改。
*import:导入JSP中的Java脚本使用到的类或包。(如同Java中的import语句)
JSP引擎自动导入以下包中的类:
javax.servlet.*
javax.servlet.http.*
javax.servlet.jsp.*
注意:一个import属性可以导入多个包,用逗号分隔。
*sessioin:指示JSP页面是否创建HttpSession对象。默认值是true,创建
*buffer:指示JSP用的输出流的缓存大小.默认值是8Kb。
autoFlush:自动刷新输出流的缓存。
isThreadSafe:指示页面是否是线程安全的(过时的)。默认是true。
true:不安全的。
false:安全的。指示JSP对应的Servlet实现SingleThreadModel接口。
*errorPage:指示当前页面出错后转向(转发)的页面。
目标页面如果以"/"(当前应用)就是绝对路径。
配置全局错误提示页面:
在web.xml中,两种花方式:
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
以及
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
*isErrorPage:指示当前页面是否产生Exception对象。
*contentType:指定当前页面的MIME类型。作用与Servlet中的response.setContentType()作用完全一致
*pageEncoding:通知引擎读取JSP时采用的编码(因为要翻译)
还有contentType属性的作用。
*isELIgnored:是否忽略EL表达式。${1+1}。默认值是false。
page指令最简单的使用方式:<%@ page pageEncoding="UTF-8"%>
2. include(静态包含,开发中能用静的不用动的)
作用:包含其他的组件。
语法:<%@include file=""%>file指定要包含的目标组件。路径如果以"/"(当前应用)就是绝对路径。
原理:把目标组件的内容加到源组件中,输出结果。容器不必先生成被包含jsp页面或servlet的class文件,而是直接将内容添加到源组件中
动态包含:
采用动作元素:<jsp:include page=""/>路径如果以"/"(当前应用)就是绝对路径。
原理:先生成被包含jsp页面或servlet的class文件,再添加到源组件中
3. taglib
作用:引入外部的标签
语法:<%@taglib uri="标签名称空间" prefix="前缀"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
三、JSP常用的动作元素
<jsp:include/> 包含
<jsp:forward/> 请求转发
<jsp:param/>:在包含和转发时,利用该标签传递请求参数
JSP中操作JavaBean的动作元素:
1. jsp:useBean
作用:用于在指定域范围内查找指定名称的JavaBean对象,找到了就直接使用;没有找到,创建一个,并放到指定的域范围内。
属性:
id:必须的。JavaBean的名称
class:JavaBean的完整类名
scope:域范围。默认是page范围。可选值:page request session application
注意:如果该标签有主体内容,只在创建新对象时才会执行。
2. jsp:setProperty(必须先使用useBean)
作用:调用JavaBean的setter方法。还能自动类型转换,仅限基本类型
属性:
property:必须的。属性名称。比如setName,名称是name。
可以使用通配符*。使用前提是请求参数的名称与属性的名称完全一致。
name:必须的。哪个对象的?即jsp:useBean中的id的取值。
value:属性的取值。支持直接量;支持表达式(<%=表达式%>)。
param:请求参数名
3. jsp:getProperty(必须先使用useBean)
作用:调用JavaBean的getter方法。
property:必须的。属性的名称。比如getName,名称是name。
name:必须的。哪个对象的?即jsp:useBean中的id的取值。
Jsp语法、指令及动作元素的更多相关文章
- java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象
JSP学习笔记 1.什么是jsp JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP/Servlet规范.JS ...
- JSP学习笔记(1)——Jsp指令、动作元素和内置对象
简单来说,javaweb技术就是让服务器端能够执行Java代码,之后返回数据给客户端(浏览器)让客户端显示数据 jsp页面中可以嵌套java代码(java小脚本)和嵌套Web前端(html,css,j ...
- JSP指令与动作元素
include指令 语法:<%@ include file="URL" %> 其中,URL表示一个要包含的页面. include动作(是一个动作标签) 语法:<j ...
- jsp 三大指令和动作标签
jsp三大指令 一个jsp页面中可以有0-N个指令 1.page--->最复杂:<%@page language="" ...%> *pageEncoding和c ...
- Java遇见HTML——JSP篇之JSP指令与动作元素
一.include指令(如:<%@include file="..."%> ) 示例: Date.jsp <%@page import="java.te ...
- JavaWeb【八、JSP指令与动作元素】
include指令(页面嵌套) <%@ include file="URL"%> include动作 <jsp:include page="URL&qu ...
- JAVA遇见HTML——JSP篇(JSP指令与动作元素)
- JSP编译指令与动作指令
下面这个面试经常问到,要理解. 上面这个效果一样,重点. <jsp:include>动作在请求期间被执行,而include指令在编译期页面间被执行.
- JSP动作元素
JSP动作元素分类 <jsp:include page="content.jsp"></jsp:include> 使用<%@ include%> ...
随机推荐
- 问题解决——MFC SDI程序 CFormView中控件随窗口缩放
从来都是做对话框程序,这次想做个SDI的程序,想着用一下带Robbin界面的office2007风格,就不用使用那些花钱的商业控件/UI库了. 如果你不想看我打的文字,可以直接拷走代码,自己声明上定义 ...
- XShell上传、下载文件(使用sz与rz命令)!
rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具.优点就是不用再开一个sftp工具登录上去上传下载文件. sz:将选定的文件发送(send)到本地机器rz:运行该命 ...
- XNote Ver:0.79
隐藏主窗后,双击小图标显示主窗. 支持拖拉网页文字到小图标上,直接在当前项目上创建下级资料项目. 项目分类限50个汉字.
- redis 五种数据结构详解(string,list,set,zset,hash)
redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存 ...
- redis watch multi exec 关系
EXEC 执行所有事务块内的命令. 假如某个(或某些) key 正处于 WATCH 命令的监视之下,且事务块中有和这个(或这些) key 相关的命令,那么EXEC 命令只在这个(或这些) key 没有 ...
- Java dynamical proxy demo
今天练习了一下动态代理的一个方面,假设使用它来完成自动设置默认不提交,启动事务,获取到异常则回滚,正常执行则提交. 如果不使用动态代理,则需要在每个方法本身里面设置Connection,写try,ca ...
- 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等
http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...
- POJ 2387 Til the Cows Come Home --最短路模板题
Dijkstra模板题,也可以用Floyd算法. 关于Dijkstra算法有两种写法,只有一点细节不同,思想是一样的. 写法1: #include <iostream> #include ...
- Linux由管道组成的值得学习的命令
1.Linux查找不以#开头的行的命令如:cat /etc/vsftpd/vsftpd.conf | grep -v "#"
- java9-8 局部内部类
1. 局部内部类 A:可以直接访问外部类的成员 B:在局部位置,可以创建内部类对象,通过对象调用内部类方法,来使用局部内部类功能 面试题: 局部内部类访问局部变量的注意事项? A:局部内部类访问局部变 ...