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的基本语法的更多相关文章

  1. JSP基础知识➣语法整理(二)

    A.脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式:<% 代码片段 %>,但是不能包含文件的方法和变量的声明 B.J ...

  2. JSP基本的语法、3个编译指令、7个动作指令、9个内置对象

    一.jsp概述 JSP是java server page的缩写,其本质是一个简化的servlet,是一种动态网页技术标准.jsp页面是在HTML页面中嵌入java程序段.使用jsp开发的应用程序能够跨 ...

  3. [原创]java WEB学习笔记14:JSP的9 个隐含对象 及 JSP 的基本语法

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  4. JSP介绍与语法-java之JSP学习第一天(非原创)

    文章大纲 一.JSP 简介二.JSP 生命周期三.JSP 语法四.学习资料下载五.参考文章   一.JSP 简介 1. 什么是Java Server Pages? JSP全称Java Server P ...

  5. JSP的基本语法:

    JSP文件有5类元素:注释,模版,脚本,指令,行为 下面我就和大家分别唠唠,这5个玩意到底是啥玩意! 一.注释(我feel有三种): html注释:<!--……-->  显式注释,即客户端 ...

  6. jsp学习--基本语法和基础知识

    一.JSP简单介绍 1.什么是JSP? JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. JSP这门技术的最大的特点在于 ...

  7. JSP/Servlet基础语法

    相关学习资料 http://my.oschina.net/chape/blog/170247 http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp ...

  8. eclipse关掉jsp,js的语法验证

    转载:http://blog.csdn.net/testcs_dn/article/details/39058959 eclipse加速之禁用JS.jsp等文件的语法验证 去除eclipse的JS验证 ...

  9. JSP(基础语法)

    一.JSP简介 JSP全称为Java Server Pages,其根本是一个简化的Servlet设计,它实现了在java当中使用HTML标签.JSP是一种动态网页技术标准也就是javaEE的标准.JS ...

随机推荐

  1. 第二天 ci执行流程

    第二天 ci执行流程 welcome 页面 this this->load 单入口框架index.php 两个文件夹 system application定义 定义常亮路径 载入 codeign ...

  2. DXUT源码阅读笔记

    14.GetCapture() 函数功能:该函数取得捕获了鼠标的窗口(如果存在)的句柄.在同一时刻,只有一个窗口能捕获鼠标:此时,该窗口接收鼠标的输入,无论光标是否在其范围内.函数原型:HWND Ge ...

  3. BZOJ的两道osu概率DP easy与osu

    坑 http://blog.csdn.net/CreationAugust/article/details/49516415 http://blog.csdn.net/braketbn/article ...

  4. knockoutjs扩展与使用

    原来考虑使用avalon2.0 经过一周的试验,能力不够,用不起来.最终使用了knockout-3.4.js <!DOCTYPE html> <html> <head&g ...

  5. tornado 学习笔记15 _ServerRequestAdapter分析

         继承于HTTPMessageDeletegate,是HTTPMessageDeletegate的一种实现,用于处理请求消息. 15.1 构造函数 def __init__(self, ser ...

  6. React-Native需要css和布局-20160902

    import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, } from 'reac ...

  7. 纯css来实现提示框

    用js用多了,就疏忽了最基本的css了---用title属性来实现提示框.下面言归正传------如何用css实现提示框: 1.利用title属性来实现鼠标滑过某个元素时,实现提示整段内容的功能(利用 ...

  8. iOS中一些算法函数

    rand() --- 随机数 求随机数 a-b     arc4random()%(b-a+1)+a abs() labs() ---- 整数绝对值 fabs()  fabsf()  fabsl() ...

  9. Android Intent Flags

    Intent,顾名思义,即意图,通常用它来启动一个应用程序组件( Activity, Service, 或者 BroadCast Receiver ).在启动一个新的 Activity 时,可以通过给 ...

  10. Daily Scrum02 12.14

    大家已经被各种作业折磨得体无完肤了,但是大家还挤出时间完成每天的软件工作啊…… 坚持就是胜利! Member 任务进度 下一步工作 吴文会 调试QuerySetting类函数 调试QuerySetti ...