1.JSP指令

  jsp指令用来设置整个JSP网页想关闭的属性,如网页的编码和脚本语言等。常用的3种指令为page,include和taglib.

2.JSP声明

  jsp声明用于声明JSP代表的Servlet类的成员变量和方法,语法:<%! %>

  例如:

  <%! int i=0;%>

<%! int a,b,c;%>

<%!

public String f(int i){

  if(i<3)

    return "i<3";

  else

    return "i>=3";

}

%>

每个JSP声明只在当前JSP页面有效。

3.Java程序片段

在JSP文件中,可以在<% 和%>标记间直接嵌入任何有效的JAVA语言代码。如何在page指令中method属性,则生成的代码默认为service方法的主体。

例如:

<%String gender="female"; if(gender.equals("female")){%>

  She is a girl.

<%}else{%>

  He is a boy.

<%}%>

以上代码等价于以下Servlet的service方法:

public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{

  PrintWriter out=response.getWriter();

  String gender="female";

  if(gender.equals("female"))

    out.println("She is a girl.");

  else

    out.println("He is a boy");

}

4.jsp表达式

Jsp表达式标记为<%=和%>。该表达式的值会显示在网页上。int或者float类型的值都会自动转换成字符串加以显示。

<html>

  <head>

    <title></title>

  </head>

  <body>

    <H1>You hit the page:

    <%!int hitcount=1;%>//变量声明,相当于成员变量

    <%int count=0;

    hitcount=count++;%>//java脚本,count相当于局部变量

    <%=hitcount++%>//表达式,没有分号;

    times

    </H1>

  </body>

</html>

以上代码相当于

public class hitCounterServlet extends HttpServlet{

  private int hitcount=1;

  public void init()throws ServletException{

  }

  public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{

    int count=0;

    hitcount=count++;

    PrintWriter out=response.getWriter();

  out.println("html");

  out.println("<head><title>Welcome Page</title></head>");

  out.println("<body>");

  out.println("<H1>You hit the page:"+(hitcount++)+"times</H1>");

  out.println("</body></hmtl>");

  }

  public void destroy(){

  }

}

5.jsp隐含对象(request,response,pageContext,application,out,config,page,session,exception)

6.转发JSP请求

<jsp:forward>标签用于将客户请求重定向到其它html,jsp或者servlet文件。

语法:<jsp:forward page="重新定向的文件"/>

<jsp:forward>标签从一个JSP文件向另一个文件传递包含用户请求的request对象。

如果JSP文件中包含<jsp:forward>标签,那么这个JSP文件中的所有输出数据都不会被发送到客户端,并且<jsp:forward>标签以下的代码不会被执行。

Jsp语法简介的更多相关文章

  1. JSP语法

    第3章  JSP语法 [本章专家知识导学] JSP是建立在Java语言基础上的一种Web程序设计语言,具有自己特有的用法和指令.本章首先介绍JSP页面的程序结构,然后讲述JSP程序中经常用到基本的面向 ...

  2. jsp标签简介

    一.jsp标签简介 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. jsp的常用标签有 ...

  3. JSP EL简介

    JSP EL简介:1.语法:    ${expression} 2.[ ]与.运算符    EL 提供“.“和“[ ]“两种运算符来存取数据.     当要存取的属性名称中包含一些特殊字符,如.或?等 ...

  4. JSP 语法

    JSP 语法 本小节将会简单地介绍一下JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代 ...

  5. JSP-Runoob:JSP 语法

    ylbtech-JSP-Runoob:JSP 语法 1.返回顶部 1. JSP 语法 本小节将会简单地介绍一下JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达 ...

  6. freemarker语法简介

    ftl是一种模板标记语言,用于渲染数据,输入html结构.语法简介如下: ${book.name} ${book.name?if_exists} //值是否存在 ${book.name??} //值是 ...

  7. JSP JSP工作原理 JSP语法 JSP声明 JSP注释 JSP指令 jsp九大隐式/内置对象

    1 什么是JSP   1)为什么说,Servlet是一个动态Web开发技术呢?     Servlet是基于服务端的一种动态交互技术,     HttpServletRequest表示客户端到服务端的 ...

  8. 在MyEclipse中如何去掉JS或jsp语法错误提示!

    在MyEclipse中如何去掉JS或jsp语法错误提示! 关于在 MyEclipse 上 WEB 工程里面的 JS/JSP 经常会有语法错误提示,这是由于 MyEclipse 对其语法要求相当严格所造 ...

  9. Android系统Recovery工作原理之使用update.zip升级过程---updater-script脚本语法简介以及执行流程(转)

    目前update-script脚本格式是edify,其与amend有何区别,暂不讨论,我们只分析其中主要的语法,以及脚本的流程控制. 一.update-script脚本语法简介: 我们顺着所生成的脚本 ...

随机推荐

  1. grep 查找bash脚本中的注释代码

    出于安全性的考虑,不建议在bash脚本中注释掉不使用的代码.也就是说如果某段代码不使用了,那么应该删除掉,而不是简单地注释掉.假如你突然意识到这一点,而以前并没有遵从这个原则,现在需要找出脚本中的注释 ...

  2. could not initialize proxy - no Session

    这是一个精典的问题:因为我们在hibernate里面load一个对象出来时,用到的是代理对象,也就是说当我们在执行load方法时并没有发sql语句,而是返回一个proxy对象.只有当们具体用到哪个ge ...

  3. 搭建一套自己实用的.net架构(3)续 【ORM Dapper+DapperExtensions+Lambda】

    前言 继之前发的帖子[ORM-Dapper+DapperExtensions],对Dapper的扩展代码也进行了改进,同时加入Dapper 对Lambda表达式的支持. 由于之前缺乏对Lambda的知 ...

  4. 用命令行工具创建 NuGet 程序包

    NuGet.exe 下载地址 本文翻译自: https://docs.nuget.org/Create/Creating-and-Publishing-a-Package https://docs.n ...

  5. 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码

    前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引 ...

  6. WPF - 属性系统 (2 of 4)

    属性更改回调 前一章的示例中,对各个参数的设置都非常容易理解.如果我们仅仅需要创建一个独立的依赖项属性,那么上面所提到的创建依赖项属性的基础知识足以满足需求.但是事情往往并非如此完美.在一个系统中,很 ...

  7. The Coroutine

    关于Coroutine 说到coroutine就不的不说subroutine,也就是我们常用到的一般函数.调用一个函数开始执行,然后函数执行完成后就退出,再次调用的时候,再从头开始,调用之间是没有保存 ...

  8. BCL中String.Join的实现

    在开发中,有时候会遇到需要把一个List对象中的某个字段用一个分隔符拼成一个字符串的情况.比如在SQL语句的in条件中,我们通常需要把List<int>这样的对象转换为“1,2,3”这样的 ...

  9. [译]ZOOKEEPER RECIPES-Locks

    锁 全局式分布式锁要求任何时刻没有两个客户端会获得同一个锁对象,这可以通过使用ZooKeeper实现.像优先级队列一样,首先需要定义一个锁节点. 在ZooKepeer的发布中src/recipes/l ...

  10. 微信小程序开发工具测评

    1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...