java web 开发——第二章jsp语法

本文介绍了JSP页面的基本结构,包括HTML和JavaScript标记、JSP标记、变量和方法声明、Java程序片、注释、指令标记(如page和include)以及动作标记(如include、param和forward)。详细讲解了如何声明变量、定义方法,以及JSP指令和动作在页面处理中的作用。
摘要由CSDN通过智能技术生成

目录

前言

2.1 JSP页面的基本结构

2.2 变量和方法的声明

2.2.1 声明变量

2.2.2 定义方法和类

2.3 Java程序片

2.5 JSP中的注释

2.6 JSP指令标记

2.6.1 page标记

2.6.2 include指令标记

2.7 JSP动作标记

2.7.1 include动作标记

2.7.2 param动作标记

2.7.3 forward动作标记



前言

         本章主要内容为对jsp基本结构的简介,包含JSP程序片、JSP表达式、JSP注释、以及JSP指令标记,JSP动作指令等小节。


2.1 JSP页面的基本结构

JSP页面可由5中元素组合而成:

★ HTML标记和JavaScript标记

★ JSP标记

★ 变量和方法的声明

★ Java程序片

★ Java表达式

2.2 变量和方法的声明

        “<%! %>”标记符号之间声明变量和定义方法。其可以放在<HTML>之前,也能放在<HTML></HTML>之间。

2.2.1 声明变量

       “<%! %>”标记符号声明的变量在整个页面都有效(即为全局变量),与其放在的位置无关。其变量占有的内存只有在Tomcat服务器结束后才会释放。

2.2.2 定义方法和类

       在  “<%! %>”标记符号间定义方法,可以在java程序片中调用该方法,而在这方法中定义的变量只能在该方法中有效。

       在  “<%! %>”标记符号间定义类,可以在java程序片中使用该类创建对象

代码如下:

<%@ page contentType = "text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body bgcolor = #ffccff>
<p style="font-family:宋体;font-size:36;color:blue">
<%! double multi(double x,double y){ //定义方法
        return x*y;
    }
    double div(double x,double y) { //定义方法
        return x/y;
    }
    class Circle { //定义类
        double r;
        double getArea(){
           return 3.1415926*r*r;
        }
    }
%>
<%  double x=8.79;
    double y=20.8;
    out.print("调用multi方法计算"+x+"与"+y+"之积:<br>");
    out.print(multi(x,y));
    out.print("<br>调用div方法计算"+y+"除以"+x+"的商:<br>");
    String s =String.format("小数点保留3位:%10.3f",div(y,x));
    out.println(s); 
    Circle circle = new Circle(); //用Circle类创建对象。
    circle.r = 3.6;
    out.print("<br>半径是"+circle.r+"的圆面积"+circle.getArea()); 
%>
</p></body></HTML>

2.3 Java程序片

        “<%%>”标记符号之间的代码就是Java程序片,一个JSP页面的Java程序片不唯一,且其执行顺序是自上而下的。在Java程序片中定义的变量其作用的范围仅仅是从定义的地方到JSP页面的结尾(即为局部变量)。

        Java程序片的书写范围也无特别要求,其可以放在<HTML>之前,也能放在<HTML></HTML>之间。

         “<%=%>”标记符号之间插入一个可求值的表达式(不可插入Java语句)。(%和=是相连的不能有空格)

代码如下:

2.5 JSP中的注释

        JSP页面中注释看分为两种:

                (1)HTML注释:在标记符号“<!---->”之间加入注释内容

                (2)JSP   注释:在标记符号“<%----%>”之间加入注释内容

2.6 JSP指令标记

2.6.1 page标记

        page指令用来定义整个JSP页面的一些属性和这些属性的值,其属性值用 ‘’或者“”括起来。( page指令的作用对整个JSP页面有效。与其书写的位置无关。)

例如:

<%@ page 属性1 = "属性1的值" %>
<%@ page contentType = "text/html" %>  
<%@ page pageEncoding = "utf-8" %>   
 

page可设置的属性(常用的一些属性):

         1.contentType属性:

                该属性设置的是JSP页面所对应的页面解释器。(contentType的值仅能设置一次,不能重复进行设置)        例如:<%@ page contentType = "text/html" %>  

        2.pageEncoding属性:

                该属性设置的JSP中的编码方式,其一般默认值为utf-8。

例如:

<%@ page pageEncoding = "utf-8" %> 

        3.import属性:

                该属性的作用是为JSP页面引入Java中提供的包中的类。

                例如:<%@ page import = "java.io.*" %>

2.6.2 include指令标记

        include指令标记的作用就是在JSP页面中静态的插入一个文件

        例如:<%@ include file ="文件的路径"%>

例如:

<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %> 
<%@ include file="myfile/ok.txt" %>
<HTML><center><body background="image/beida.jpg">
<bgsound src="sound/beida.mp3" loop=1>
<h1>这里是北京大学 </h1>
</body></HTML>

2.7 JSP动作标记

        动作标记是一种特殊的标记,它影响JSP运行时的功能。

2.7.1 include动作标记

        include动作标记告诉JSP页面动态包含一个文件,即JSP页面运行时才将文件加入。

        其格式为:

(1)<jsp:include page ="文件的路径">
(2)<jsp:include page ="文件的路径">
       param子标记
     </jsp:include>

(当include动作标记不需要param子标记时,必须要用第一种形式)

2.7.2 param动作标记

        param标记以“名字-值”的形式为其他标记提供附加信息,param标记不能独立使用,要作为jsp:include,jsp:forword标记的子标记来使用

         其格式为:

<jsp:param name="参数" value="参数的值"/>

2.7.3 forward动作标记

        forward动作标记的作用是:从该标记处停止当前页面的执行,而转向执行page属性指定的JSP页面。

        其格式为:

(1)<jsp:forward page = "要转向的页面"/>
    param子标记
(2)</jsp:forward>

        forward动作标记指定的要转向的JSP文件可以使用Tomcat服务器提供的request内置对象获取param子标记中name指定的属性值。

例如:

<%@ page contentType="text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body>
<h1> 产生一个1-10之间的随机数
<%  double i=(int)(Math.random()*10)+1;
    if(i<=5) {
%>      <jsp:forward page="example2_12_a.jsp" >
            <jsp:param name="number" value="<%= i %>" />
        </jsp:forward> 
<%  }
    else {
%>     <jsp:forward page="example2_12_b.jsp" >
           <jsp:param name="number" value="<%= i %>" />
       </jsp:forward> 
<%  }
%>
</body></HTML>
<%@ page contentType="text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body bgcolor=cyan>
<p style="font-family:宋体;font-size:36">
<% String s=request.getParameter("number");
    out.println("传递过来的值是"+s);
%>
<br><img src=image/pic_a.jpg width=300 height=280/>
</p></body></HTML>
<%@ page contentType="text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body bgcolor=yellow>
<p style="font-family:宋体;font-size:36">
<% String s=request.getParameter("number");
    out.println("传递过来的值是"+s);
%>
<br><img src=image/pic_b.jpg width=300 height=280 />
</p></body></HTML>

其结果为:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值