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. 基于NPOI的Excel数据导入

    从Excel导入数据最令人头疼的是数据格式的兼容性,特别是日期类型的兼容性.为了能够无脑导入日期,折腾了一天的NPOI.在经过测试确实可以导入任意格式的合法日期后,写下这篇小文,与大家共享.完整代码请 ...

  2. jquery-treegrid树状表格的使用(.Net平台)

    上一篇介绍了DataTable,这一篇在DT的基础之上再使用jquery的一款插件:treegrid,官网地址:http://maxazan.github.io/jquery-treegrid/ 一. ...

  3. 张高兴的 UWP 开发笔记:汉堡菜单进阶

    不同于Windows 8应用,Windows 10引入了"汉堡菜单"这一导航模式.说具体点,就拿官方的天气应用来说,左上角三条横杠的图标外加一个SplitView控件组成的这一导航 ...

  4. VS2015墙内创建ionic2

    开始学习ionic2,试验各种方法,感觉以下是紧跟rc版本的最佳方案 STEP1 设置cnpm npm install -g cnpm --registry=https://registry.npm. ...

  5. 【转】组件化的Web王国

    本文由 埃姆杰 翻译.未经许可,禁止转载!英文出处:Future Insights. 内容提要 使用许多独立组件构建应用程序的想法并不新鲜.Web Component的出现,是重新回顾基于组件的应用程 ...

  6. postgresql无法安装pldbgapi的问题

    要对函数进行调试需要安装插件pldbgapi,当初在windows上面的postgresql实例中执行了一下语句就安装上了: create extension pldbgapi; 但是在linux中执 ...

  7. iOS开发系列--网络开发

    概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...

  8. useful commands for Kubernetes beginners

    Get pod ip and their coordinating NODE $ kubectl get pods -o wide If you want to get detailed inform ...

  9. Web API 强势入门指南

    Web API是一个比较宽泛的概念.这里我们提到Web API特指ASP.NET Web API. 这篇文章中我们主要介绍Web API的主要功能以及与其他同类型框架的对比,最后通过一些相对复杂的实例 ...

  10. 借助亚马逊S3和RapidMiner将机器学习应用到文本挖掘

    本挖掘典型地运用了机器学习技术,例如聚类,分类,关联规则,和预测建模.这些技术揭示潜在内容中的意义和关系.文本发掘应用于诸如竞争情报,生命科学,客户呼声,媒体和出版,法律和税收,法律实施,情感分析和趋 ...