20160916------JSP基本语法

**

一、JSP简介:

**
1、JSP
JSP是指Java服务器端页面,由HTML+JSP标记+Java代码组成。

2、特点:

①降低了程序设计的难度

②可以使用可视化工具,减少了开发工作量

③不需要手动编译

④包含相关的内置对象、指令元素与动作元素,简化了编写servlet程序的过程。

⑤可运用Java所提供的各类包

3、执行过程:

①请求(Request)

②翻译(Servlet即.java文件)

③编译(.class文件)

④执行

⑤响应(Response)
这里写图片描述

4、基本元素:

这里写图片描述




二、JSP基本元素

<参考wugewuge的博客:http://blog.csdn.net/wugewuge/article/details/7979274>

这里写图片描述

1、jsp注释

<%-- annotation --%> //jsp注释:不经过翻译阶段,客户端不可见

<% //annotation  %>  //单行注释:经过翻译阶段,客户端不可见

<% /* annotation
      annotation
      annotation*/%> //多行注释:经过翻译阶段,客户端不可见

<!--  -->            //html注释:经过翻译、编译阶段,客户端可见

2、JSP脚本元素

(1)JSP声明

<%! int a=0; %> //成员变量
<% int b=0; %>  //局部变量
……              //还有成员方法和局部方法

(2)JSP脚本

<% Java代码 %> 

(3)JSP表达式

<%=表达式 %>

//注意:表达式后无分号
//     表达式返回结果为字符串。

3、JSP指令元素

<%@ include / page / tablib %>//三大指令元素
这里写图片描述

这里写图片描述

这里写图片描述

4、JSP动作元素

这里写图片描述

(1)include动作元素

  • 作用:

    include动作元素用来在JSP页面中包含其他静态页面和动态页面。

  • 无参数格式:
<jsp:include page=”文件路径” flush=”true|false”/>
  • 带参数格式:
<jsp:include page=”文件路径” flush=”true|false”/>
        <jsp:param name=”参数名1” value=”参数1的值”>
       <jsp:param name=”参数名2” value=”参数2的值”/>
       <jsp:param name=”参数名3” value=”参数3的值”/>
        …
       <jsp:param name=”参数名n” value=”参数n的值”/>
</jsp:include>
  • 示例:
<body>
<!-- 动态包含静态文件 -->
<jsp:include page="1.html" flush="true"></jsp:include>
<% String name=request.getParameter("name");
   if(name==null||name==""){
      name="0";
   }
%>
<!-- 动态包含文件并传递参数 -->
<jsp:include page="2.jsp" flush="true">
    <jsp:param name="r" value="<%=name %>" />
</jsp:include>

<!-- 动态包含文件并不传递参数 -->
<jsp:include page="3.jsp" flush="true"></jsp:include>
</body>

(2)forward动作元素

  • 作用:

    forward动作元素用来跳转网页,即将当前页面跳转到其他指定页面。转向的目标页面可以是静态HTML页面、JSP页面或Servlet类。

  • 无参数格式:
<jsp:forward page=”文件路径” flush=”true|false”/>

  • 带参数格式:
<jsp:forward page=”文件路径” flush=”true|false”/>
     <jsp:param name=”参数名1” value=”参数1的值”>
     <jsp:param name=”参数名2” value=”参数2的值”/>
     <jsp:param name=”参数名3” value=”参数3的值”/>
     …
    <jsp:param name=”参数名n” value=”参数n的值”/>
</jsp:forward>
  • 示例:
//用户登录页面,登录成功跳转到sucess.jsp,否则跳转到error.jsp
<body>
<% String name=request.getParameter("name");
   String pwd=request.getParameter("pwd");

   if(name.equals("sa")&&pwd.equals("123")){
%>
<jsp:forward page="sucess.jsp">
     <jsp:param value="<%=name%>" name="name"/>
     <jsp:param value="<%=pwd%>" name="pwd"/>
</jsp:forward>

<% }else{%>
    <jsp:forward page="error.jsp"></jsp:forward>
<% }%>  
</body>

(3)param动作元素

  • 作用:

    param动作元素主要用来向需要包含的动态页面或要跳转的动态页面传递参数。

  • 语法:

<jsp:param name=”属性名” value=”属性值”/>

//注意:param动作元素必须配合include动作元素、forward动作元素和plugin等元素,在加载外部程序或是网页转换的时候,传递参数给另外一个JSP程序。

  • 示例:
<body>
<% String str=null;
   str="Hello World!";
%>

<jsp:forward page="1.jsp" >
    <jsp:param name="str" value="<%=str%>" />
</jsp:forward>
</body>

(4)useBean动作元素

  • 作用:
    useBean动作元素用来在JSP中创建并使用一个JavaBean。实际工作中常用JavaBean做组件开发,而在JSP中只需要声明并使用这个组件,这样可以较大限度地实现静态内容和动态内容的分离。

  • 语法:

<jsp:useBean id=”bean的名称” scope=”有效范围” class=”包名.类名”></useBean>

//useBean动作元素有id、class、scope、type和beanName五种属性

  • 示例:
//圆形实体类
public class CircleBean {
    private double radius=1.0;
    private double perimeter;
    private double area;
                      private double  PI=3.14;
    public CircleBean(){  }
    public void setRadius(double r){
        radius=r;
    }
    public double getRadius(){
        return radius;
    }
    public double getPerimeter(){
        perimeter=radius*2*PI;
        return perimeter;
    }
    public double getArea(){
        area=radius*radius*PI;
        return area;
    }
}


//jsp页面

<body>
<form id="form1" name="form1" method="post" action="">
  请输入圆的半径:
  <input type="text" name="radius1" />
  <input type="submit" name="Submit" value="提交" />
</form>

<!-- 加载JavaBean -->
<jsp:useBean id="cicle" class="ch07.CircleBean" ></jsp:useBean>
<!-- 使用setProperty属性设置JavaBean属性 -->
<jsp:setProperty property="*"  name="cicle" />
<jsp:setProperty property=" radius"  name="cicle“ param=“radius1” />

<!-- 使用getProperty属性获取JavaBean属性 -->
<p>圆的半径:<jsp:getProperty property="radius" name="cicle"/> </p>
<p>圆的面积:<jsp:getProperty property="area" name="cicle"/> </p>
<p>圆的周长:<jsp:getProperty property="perimeter" name="cicle"/> </p>
</body>

(5)setProperty

  • 作用:

    设置Bean中的属性值。

  • 语法:

<jsp:setProperty name="bean的名称" property="*"  />

<jsp:setProperty name="bean的名称" property="属性名称"  />

<jsp:setProperty name="bean的名称" property="属性名称"  param=”参数名称” />

<jsp:setProperty name="bean的名称" property="属性名称"  value=”属性值” />

(6)getProperty

  • 作用:

    getProperty动作元素获取Bean中的属性值并将其转换为字符串,用于在页面中显示。

  • 语法:
<jsp:getProperty name="bean的名称" property="属性名称"  />

(7)plugin动作元素

  • 作用:

    plugin动作元素用来在JSP网页中加载Java Applet或JavaBean程序组件。

  • 语法:

<jsp:plugin
      type=”bean|applet”
      code=”加载Java程序编译后的类名称”
      codebase=” 编译后Java程序类所在目录”
      name=”名称”
      align=”top|right|bottom|left”
      height=”加载的程序在窗口中显示的高度”
      width=”加载的程序在窗口中显示的宽度”
      hspace=”加载的显示区与网页其他内容的水平间隔”
      vspace=”加载的显示区与网页其他内容的垂直间隔”>
<jsp:params>
     <jsp:param name=”参数名1” value=”参数1的值”>
     <jsp:param name=”参数名2” value=”参数2的值”/>
     …
     <jsp:param name=”参数名n” value=”参数n的值”/>
</jsp:params>
</jsp:plugin>

  • 示例:
<form id="form1" name="form1" method="post" action="">
  请输入圆的半径:
  <input type="text" name="name" />
  <input type="submit" name="Submit" value="提交" />
</form>
<%String str=request.getParameter("radius");
  if(str==null||str==""){str="30"; }
%>

<!-- 加载Java Applet -->
<jsp:plugin code="CircleApplet.class"  type="applet"  width="300" height="300">
    <jsp:params>
        <jsp:param name="width" value="300"/>
        <jsp:param name="height" value="300"/>
        <jsp:param name="radius" value="<%=str%>"/>
    </jsp:params>
</jsp:plugin>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • JSP 基本结构JSP 页面组成:模板文本(HTML,XML,纯文本),JSP 元素;JSP 元素:脚本元素,指令...
    jslancer阅读 825评论 0 11
  • 前面讲了servlet入门实践现在开始介绍jsp入门实践,开发环境的搭建请参考我前面的tomcat的文章,jsp入...
    伊豚wall阅读 3,356评论 2 56
  • 什么是jsp? 很久之前,我们的网页都是静态的,就是我们所看到的页面在编写好之后总是唯一的。后来有人便提出动态页面...
    ezsync小智阅读 1,482评论 0 13
  • JSP(Java Server Pages),其根本是一个简化的 Servlet 设计,实现了在 Java 当中使...
    静候那一米阳光阅读 456评论 0 1
  • 离开大学三了,离开家七年了,一晃而过!转眼间什么都是匆匆过客,转瞬即逝,一片哗然之后到头来全都戛然而止。人之处,性...
    H鹏123阅读 421评论 0 0