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

前言

本文小结jsp语法,内容包括jsp页面的基本结构,怎么声明变量和定义方法,Java程序片和表达式,jsp指令标记和动作标记

2.1 jsp页面的基本结构

  • HTML标记和JavaScript标记
  • jsp标记
  • 变量和方法的声明
  • Java程序片
  • Java表达式

tips:下面还会简单讲解

2.2 声明变量和定义方法

  1. 声明变量

<%! 变量 %>

<%@ page contentType="text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body bgcolor=yellow>
<%! int i=0;
%>
<% i++;
%>
</body></HTML>    

该变量在整个jsp页面有效,与书写的位置无关

  1. 定义方法和类

<%! 方法和类 %>

<%@ page contentType = "text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body bgcolor = #ffccff>
<%! double multi(double x,double y){ //定义方法
        return x*y;
    }
    class Circle { //定义类
        double r;
        }
%>
</p></body></HTML>

注意::定义的方法可以在Java程序片中调用,该方法内声明的变量只在该方法内有效

2.3 Java程序片

<% java程序片 %>

用法:

  • 操作jsp页面的成员变量
  • 调用jsp页面的方法
  • 操作局部变量
<%@ page contentType = "text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body>
<p>
<%! int count=0;                    //被用户共享的count。
     synchronized void setCount() {  //synchronized修饰的方法。
       count++;
     }
%>
<%  setCount();
    out.println("您是第"+count+"个访问本站的客户");   
%>
</p></body></HTML>

注意:一个jsp页面的Java程序片会按期在页面中的顺序被执行,而且某个Java程序中的局部变量在其后继的所有Java程序片以及表达式都有效

2.4 Java表达式

<%= Java表达式 %>

<%@ page contentType = "text/html" %>  
<%@ page pageEncoding = "utf-8" %>  
<HTML><body  bgcolor=pink>
<%  int x=12,y=9;
%>
<p style="font-family:宋体;font-size:36">
  计算表达式x+y+x%y,即<%= x %>+<%= y %>+<%= x %>%<%= y %>的值: 
  <%= x+y+x%y %>
<br>计算表达式x>y即<%= x %> > <%= y %>的值:
  <%= x>y %>
</p></body></HTML>

运行结果:
(o.0)
注意:'<%='中间不能有空格

2.5 Jsp中的注释

  • HTML注释
<!---注释内容--->
  • jsp注释
<%---注释内容---%>

2.6 jsp指令标记

2.6.1 page指令标记

<%@ page 属性1="属性1的值"%>
<%@ page 属性2="属性2的值"%>
<%@ page 属性1="属性1的值"属性2="属性2的值"%>
  1. contentType属性
    设置响应的MIME类型,例如"text/html",“application/msword”,"image/gif"等
<%@ page contentType="text/html"%>
  1. pageEncoding属性
    设置编码格式
<%@ page pageEncoding="utf-8"%>
  1. language属性
<%@ page language="java"%>
  1. import属性
    为jsp页面引入Java运行环境提供的包中的类,例如:
<%@ page import="java.io.*"%>
  1. session属性
    设置是否需要使用内置的session对象

ps:还有一些属性没有讲,以后补充

2.6.2 include指令标记

在jsp页面整体嵌入一个文件

<%@ include file="文件的URL"%>

2.7 jsp动作标记

2.7.1 include动作标记

include动作标记语法格式:

<jsp: include page="文件的URL"/>
或
<jsp: include page="文件的URL">
  param 子标记
 </jsp:include>

2.7.2 param动作标记

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

当标记与jsp:include标记一起使用时,可以将param标记中参数的值传递给include动作标记要加载的文件中
example.jsp

<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %>
<HTML><body  bgcolor=cyan >
<% double a=6.12,b=7.08,c=9.22;
%>
<p style="font-family:宋体;font-size:36">
<br>加载triangle.jsp计算三边为<%=a%>,<%=b%>,<%=c%>的三角形面积.
   <jsp:include page="myfile/triangle.jsp">
     <jsp:param name="sideA" value="<%=a%>"/>
     <jsp:param name="sideB" value="<%=b%>"/>
     <jsp:param name="sideC" value="<%=c%>"/>
   </jsp:include>
</p></body></HTML>

triangle.jsp

<%@ page contentType="text/html" %> 
<%@ page pageEncoding = "utf-8" %>
<%! public String getArea(double a,double b,double c) {
       if(a+b>c&&a+c>b&&c+b>a) {
           double p=(a+b+c)/2.0;
           double area=Math.sqrt(p*(p-a)*(p-b)*(p-c)) ;
           String result = String.format("%.2f",area);//保留两位小数
           return result;
       }
       else { 
          return(""+a+","+b+","+c+"不能构成一个三角形,无法计算面积");
       }
    }
%>
<%   String sideA=request.getParameter("sideA");
     String sideB=request.getParameter("sideB");
     String sideC=request.getParameter("sideC");
     double a=Double.parseDouble(sideA);
     double b=Double.parseDouble(sideB);
     double c=Double.parseDouble(sideC);
%>
<p style="font-family:黑体;font-size:36;color:blue">
<br><b>我是被加载的文件,负责计算三角形的面积<br>
    给我传递的三边是:<%=sideA%>,<%=sideB%>,<%=sideC%></b>
<br><b><i>三角形的面积(保留2位小数):<%= getArea(a,b,c)%></i></b></i>
</p>

执行结果:

在这里插入图片描述

2.7.3 forward动作标记

语法格式:

<jsp: forward page="要跳转的页面"/>

<jsp: forward page="要跳转的页面">
	param 子标记
</jsp:forward>

example2-12.jsp

<%@ 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>

example2-12-a.jsp

<%@ 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>

example2-12-b.jsp

<%@ 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>

运行结果:
在这里插入图片描述
在这里插入图片描述

2.7.4 useBean动作标记

第五章再写,这次就到这里了

总结

以上就是今天要讲的内容,本文仅仅简单介绍了JSP页面的结构、Java程序片以及表达式,其中最重要的还是后面的指令标记和动作标记。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值