JSP的基本语法
JSP的基本语法
一、JSP页面中的JAVA代码
1、JSP表达式(格式:<%=%>)
<%=2+2%>
<%=xx.getName()%>
<%=xx.getName()+“str”%>
注意:表达式结束不需要写分号。
这种形式的Java代码在转译成Servlet时,<%= %>内的代码会成为service()方法中使用out.print语句的输出。
out.print(2+2);
out.print(xx.getName());
out.print(xx.getName()+“str”));
2、JSP小脚本(格式:<%%>)
<table>
<%
3 List<Student> students = (List<Student>)request.getAttribute(“students“);
for(Student st : students){
%>
<tr>
<td> <%=st.getId()%> </td>
<td> <%=st.getName()%> </td>
</tr>
<%
}
%>
</table>
以上代码使用小脚本动态生成一个表格。<% %>内的代码最终都会成为service方法的一部分,转换结果如下:
public void service(…){
out.write(“<table>”);
List<Student> students = (List<Student>)request.getAttribute(“students“);
for(Student st : students){
out.write(“<tr> <td>”);
out.print(st.getId());
out.write(“</td><td>”);
out.print(st.getName());
out.write(“</td></tr>”);
}
out.write(“</table>”);
}
3、JSP声明(格式:<%! %>)
<%!
private String name; //属性声明 public void fun(){ //方法声明
//… 方法体
}
%>
JSP声明<%! %>内的代码可以为对应的Servlet添加属性和方法,转换为Servlet之后的结果如下:
public class XXX_JSP extends JSPBase{
private String name; //属性声明
public void fun(){ //方法声明
// … 方法体
}
public void service(… …){
}
}
二、JSP页面中的指令
1、page指令
page指令可以导入java包,也可以对页面的一些属性进行设置。
<%-- 导包 --%>
<%@ page import=“java.util.*“%>
<%@ page import=“java.util.*,java.sql.*“%> <%-- 设置response.setConentType方法的参数值 --%>
<%@ page contentType=“text/html;charset=utf-8“%> <%-- 设置容器读取该文件时的解码方式 --%>
<%@ page pageEncoding=“UTF-8“%>
(1)使用page指令导包时,需要用到import属性。如果需要导入多个包,可以分成多条page指令来编写,也可以在一条page指令中,使用“,“逗号作为分隔来实现。
(2)contentType属性,设置输出内容的编码方式,这样就可以设置浏览器使用正确的解码方式来显示页面。
(3)pageEncoding属性,设置容器读取该文件时的解码方法,这段代码可以保证页面在加载到内存时正确的解码中文。
注意,page指令要放在页面的最上面编写。
2、include指令
include指令主要用于将其他页面包含在另一个页面之中,可以实现页面内容的重用。include指令的语法如下:
<%@ include file=“thetitle.html” %>
3、taglib指令
可引入JSTL的标签库,将标签库对应的jar包拷贝到WEB-INF/lib目录下,以便于系统可以加载所需要的类。使用taglib指令在页面上引入标签的命名空间和前缀,帮助系统定位对应的类。
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
三、JSP页面中的隐含对象(九大内置对象)
由于JSP页面最终要转化为一个Servlet,而作为即将转变为Servlet的一个前期版本,会有很多系统提供给页面能够直接使用的对象,根据页面中要实现的功能直接使用即可。具体的隐含对象信息见下表:
| 隐含对象 | 类型 | 说明 |
| request | HttpServletRequest | 代表请求对象 |
| response | HttpServletResponse | 代表响应对象 |
| out | JSPWriter | 输出流 |
| session | HttpSession | 会话 |
| application | ServletContext | 全局的Servlet上下文对象 |
| pageContext | PageContext | JSP页面上下文 |
| page | Object | 代表JSP页面本身,即this |
| config | ServletConfig | Servlet配置对象 |
| exception | Throwable | 捕获的页面异常对象 |
JSP的基本语法的更多相关文章
- JSP基础知识➣语法整理(二)
A.脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式:<% 代码片段 %>,但是不能包含文件的方法和变量的声明 B.J ...
- JSP基本的语法、3个编译指令、7个动作指令、9个内置对象
一.jsp概述 JSP是java server page的缩写,其本质是一个简化的servlet,是一种动态网页技术标准.jsp页面是在HTML页面中嵌入java程序段.使用jsp开发的应用程序能够跨 ...
- [原创]java WEB学习笔记14:JSP的9 个隐含对象 及 JSP 的基本语法
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- JSP介绍与语法-java之JSP学习第一天(非原创)
文章大纲 一.JSP 简介二.JSP 生命周期三.JSP 语法四.学习资料下载五.参考文章 一.JSP 简介 1. 什么是Java Server Pages? JSP全称Java Server P ...
- JSP的基本语法:
JSP文件有5类元素:注释,模版,脚本,指令,行为 下面我就和大家分别唠唠,这5个玩意到底是啥玩意! 一.注释(我feel有三种): html注释:<!--……--> 显式注释,即客户端 ...
- jsp学习--基本语法和基础知识
一.JSP简单介绍 1.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于 ...
- JSP/Servlet基础语法
相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...
- eclipse关掉jsp,js的语法验证
转载:http://blog.csdn.net/testcs_dn/article/details/39058959 eclipse加速之禁用JS.jsp等文件的语法验证 去除eclipse的JS验证 ...
- JSP(基础语法)
一.JSP简介 JSP全称为Java Server Pages,其根本是一个简化的Servlet设计,它实现了在java当中使用HTML标签.JSP是一种动态网页技术标准也就是javaEE的标准.JS ...
随机推荐
- Oracle VM VirtualBox 安装CentOS 配置图形界面记录
su yum groupinstall "X Window System" -y yum groupinstall "Desktop" -y 最后运行#star ...
- 安卓开发error opening trace file: No such file or directory (2)报错原因
error opening trace file: No such file or directory (2) 这个问题的出现是因为运行的测试机android系统版本和项目api不一致导致. 改成一样 ...
- Daily Scrum Meeting ——SixthDay(Beta)12.14
一.Daily Scrum Meeting照片 二.Burndown Chart 三.项目进展(check-in) 1.完成注册界面中的学院.年级.身份选择. 2.补充参与者报名活动成功后按钮变为不可 ...
- [spring源码学习]七、IOC源码-Context
一.代码实例 如之前介绍的,spring中ioc是它最为核心的模块,前边花了大量时间分析spring的bean工厂和他如何生成bean,可是在我们实际应用中,很少直接使用beanFactory,因为s ...
- Flask_more1
#DB ``` import os basedir = os.path.abspath(os.path.dirname(__file__)) SQLALCHEMY_DATABASE_URI = ' ...
- 忽略this的后果
昨天在做一个简单的遮罩功能,说简单不如说是繁琐的好,主要是因为一个页面中有将近十几个,只不过是功能是一样的,要将一段文字遮盖住,文字的内容是不确定的,也就是跟着内容的高度变化而改变遮罩层的高度.了解了 ...
- javascript中三种典型情况下this的含义
this本意:基于函数的执行环境绑定. 1)一般函数内部,返回的是window(作用域链中的第二层全局作用域) function test() { return this; } alert(test( ...
- github for windows 安装 使用
遇到无数的未知问题.光是安装就搞了好久. 安装程序显示安装了.NET Framework4.5,然后提示重启.重启后,自动开始下载文件,最多到2%就走不动了. 后来请求了下面这个链接,才开始下载了(虽 ...
- Node.js抓取网页
前几天四六级成绩出来(然而我没考),用Node.js做了一个模拟表单提交并抓取数据的Web 总结一下用到的知识,简单的网页抓取大概就是这个流程了 发送Get或Post请求 表单提交,首先弄到原网页提交 ...
- Codeforces Round #361 (Div. 2) B
B - Mike and Shortcuts Description Recently, Mike was very busy with studying for exams and contests ...