• JSP基本语法


    JSP基本语法

    一、JSP简介

    JSP指的是Java Server Pages,它是SUN公司在1996年6月发布的用于开发动态Web应用的一项技术。JSP是基于Java Servlet的Web开发技术,由于其所具有的简单易学和跨平台等的特性,使其在各种动态Web程序的设计语言中脱颖而出,它具有一套完整的语法规范,目前已经成为Web开发中的主流选择

    二、JSP基本语法

    在传统的HTML页面文件中嵌入脚本语言JSP标签就构成了一个JSP页面文件。一个JSP页面可有5中元素组合而成。

    HTML页面内容

    JSP注释

    JSP指令

    JSP脚本元素

    JSP动作元素

    本小节讲这三个。

    1、JSP注释

    1、JSP注释有两种,一种是可以在客户端显示的注释,称为HTML注释

    表示形式:  <!-- 注释内容 -->

    2、一种是发送到服务器端,在客户端不能显示的注释,称为JSP注释

    表示形式:  <%--注释内容--%>

    2、JSP指令:

    JSP指令用来向JSP引擎提供编译信息。可以设置全局变量,如声明类、要实现的方法和输出内容的类型。一般的,JSP指令在整个页面范围内有效,且并不向客户端产生任何输出。所有的JSP指令都只在当前的整个页面中有效。与其书写的位置无关,一般写在最前面。

    JSP指令有3类,分别是:

    page指令

    include指令

    taglib指令

    1、  page指令称为页面指令,用来定义JSP页面的全局属性,该配置会作用于整个JSP页面。page指令用来指定所使用的脚本语言、导入指定的类及软件包等。

    1. <%@ page language="java" contentType="text/html;charest=GBK"%>  
    2. <%@ page import="java.util.*, java.io.*, java.awt.*"%>    


      2、include指令是文件加载指令,用于在JSP文件中插入一个包含文本或代码的文件。它把文件插入后与原来的JSP文件合并成一个新的JSP页面。还需要注意的是,如果被插入的文件发生了变化,则包含这个文件的JSP文件需要被重新编译。

    1. <%@ include file="baozi.txt"%>  
    2. <%@ include file="baozi.html"%>  
    3. <%@ include file="baozi.jsp"%>  


        3、taglib指令用来引用标签库并设置标签库的前缀。这个指令允许JSP页面使用用户自定义的标签,它也可以为标签库命名,标签在这个库中定义。

               taglib有2个属性,uri用来指定标签文件或标签库的存放位置,prefix用来指定该标签库所使用的前缀。

         

    1.    <%@ pagelanguage="java" contentType="text/html"pageEncoding="UTF-8"%>  
    2.  <%--声明要引用的标签库--%>  
    3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>  
    4. <html>  
    5.     <head>  
    6.         <title>taglib标签</title>  
    7.     </head>  
    8.     <body>  
    9.         <%--使用JSTL标签输出--%>  
    10.         <c:out value="taglibexample!"/>  
    11.     </body>  
    12. </html>  


    3、JSP脚本元素:

    脚本元素是JSP中使用最频繁的元素,通过JSP脚本可以将Java代码嵌入到HTML页面中,所有可执行的Java代码,都可以通过JSP脚本来实现。

    JSP脚本元素主要包含如下三种类型:

    JSP声明语句

    JSP表达式

    JSP Scriptlets

    1、JSP声明语句用于声明变量和方法。使用JSP声明语句声明变量时需要在”<%!”和”%>”标记之间放置Java变量的声明语句。变量的类型可以是Java语言中所提供的任意数据类型。使用JSP声明语句声明的变量将来会转换成Servlet类中的成员变量,这些变量在整个JSP页面中都有效,因此也被称为JSP页面的成员变量。声明的方法在整个JSP页面有效,方法内声明的变量只在方法内有效。

    1. <%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>  
    2. <html>  
    3.     <head>  
    4.     <title>JSP声明语句示例</title>  
    5. </head>  
    6. <!--JSP声明语句  -->  
    7. <%!  
    8.     public int a;            //声明整型变量a  
    9.     public String printStr(){    //声明方法printStr  
    10.         return "JSP method";  
    11. }  
    12. %>  
    13. <body>  
    14. <%  
    15.     out.println("a="+a);        //输出a值  
    16.     a++;                //a自增  
    17. %>  
    18. <br>         
    19. <%  
    20.     out.println(printStr());    //调用printStr()方法,输出其返回值  
    21. %>  
    22. </body>  
    23. </html>  


    实际上,JSP页面最终会编译成Servlet类,而在容器中只会存在一个Servlet类的实例。在JSP中声明的变量时成员变量,它只在创建Servlet实例时被初始化一次,此后该变量一直保存,直到Servlet实例被销毁掉。

    2、JSP表达式,即在”<%=”和”%>”标记之间插入一个表达式,这个表达式必须能够求值,并且计算结果以字符串的形式发送到客户端显示出来。JSP表达式的值会作为HTML页面的内容。

    如果表达式的值是一个字符串,则将表达式的值直接显示在页面上,否则会先将表达式转换为字符串。

    1. <%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>  
    2. <html>  
    3.     <head>  
    4.         <title>JSP 表达式</title>  
    5. </head>  
    6. <body>  
    7.     <%!  
    8.         String str="JSP expression";        //声明变量str  
    9.     %>  
    10.     <!--JSP表达式-->  
    11.     <%=str%>     
    12. </body>  
    13. </html>  


    3、JSPScriptlet是一段Java代码。当需要使用Java实现一些复杂的操作或控制时,JSP表达式往往不能满足要求,此时就需要用到JSP Scriptlet。

    在JSP Scriptlet里声明的变量是局部变量,调用JSP Scriptlet时,会为局部变量分配内存空间,调用结束便释放变量占有的空间。

    1. <%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>  
    2. <html>  
    3.     <head>  
    4.         <title>JSP Scriptlet</title>  
    5.     </head>  
    6.     <body>  
    7.     <%  
    8.         String str="JSP Scriptlet";     //声明字符串  
    9.         out.println(str);                  //输出字符串的值  
    10.     %>  
    11.     </body>  
    12. </html>  


    三、JSP动作元素

        JSP动作元素用来控制JSP的行为,执行一些常用的JSP页面动作。通过动作元素可以实现使用多行Java代码能够实现的效果,如动态插入文件、重用JavaBean组件、自定义标签等。

    JSP中的动作元素主要包含下面7个:

    1. <jsp:include>  
    2. <jsp:forward>  
    3. <jsp:param>  
    4. <jsp:plugin>  
    5. <jsp:useBean>  
    6. <jsp:setProperty>  
    7. <jsp:getProperty>  


    1、<jsp:include>动作元素提供了一种在JSP页面中包含页面的方式,既可以包含静态文件,也可以包含动态文件。

    include.jsp

    1. <%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>  
    2. <html>  
    3.     <head>  
    4.         <title>jsp:include</title>  
    5. </head>  
    6. <body>  
    7.     <jsp:include page="hello.jsp"></jsp:include>  
    8. </body>  
    9. </html>  

    hello.jsp:

    1. <%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>  
    2. <%@ page import="java.util.*"%>  
    3. <%=(newDate()).toString()  %>  


    2、<jsp:forward>是一种用于页面重定向的动作元素,它的作用是停止当前页面的执行,而将客户端请求转交给另一个JSP页面。此操作是在服务器端进行的,不会引起客户端二次请求,因此浏览器的地址不会发生改变。

    forward.jsp:

    1. <%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>  
    2. <html>  
    3.     <head>  
    4.         <title>jsp:forward</title>  
    5. </head>  
    6. <body>  
    7.     <%--这里会执行 --%>  
    8.     <jsp:forward page="to_forward.jsp"></jsp:forward>  
    9.     <%--这里不会执行 --%>  
    10. </body>  
    11. </html>  

    to_forward.jsp

    1. <%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>  
    2. <html>  
    3.     <head>  
    4.         <title>to_forward</title>  
    5. </head>  
    6. <body>  
    7.     该页面为jsp:forward跳转的页面  
    8. </body>  
    9. </html>  


     

     

    3、<jsp:param>是一种提供参数的附属动作元素,它以“名-值”对的形式为其它动作元素提供附加信息,一般与<jsp:include>、<jsp:forward>和<jsp:plugin>联合使用。

    1、<jsp:param>与<jsp:include>相联合:

    param_include.jsp 代码:

    1. <%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>  
    2. <html>  
    3.     <head>  
    4.         <title>jparam_include</title>  
    5.     </head>  
    6. <body>  
    7.     <!-- 使用jsp:include动作元素导入动态文件-->  
    8.     <!-- 使用jsp:param动态元素传递参数 -->  
    9.     <jsp:include page="param_sum.jsp">       
    10.         <jsp:param value="220" name="number"/>  
    11.     </jsp:include>  
    12. </body>  
    13. </html>  

    param_sum代码:

    1. <%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>  
    2. <html>  
    3.     <head>  
    4.         <title>param_num</title>  
    5. </head>  
    6. <body>  
    7.     <%  
    8.         String str=request.getParameter("number");  //获取要累加的次数  
    9.         int n=Integer.parseInt(str);        //将字符串解析成带符号整数  
    10.         int sum=0;      //存放;累加和  
    11.         for(int i=1;i<=n;i++){  
    12.             sum+=i;  
    13.         }  
    14.      %>  
    15.      <br>  
    16.      整数和为:  
    17.      <%=sum %>  
    18. </body>  
    19. </html>  


    2、<jsp:param>与<jsp:forward>相联合:

    param_forward.jsp代码:

    1. <%@ page language="java"contentType="text/html" pageEncoding="utf-8"%>  
    2. <html>  
    3.     <head>  
    4.         <title>jsp:forward</title>  
    5. </head>  
    6. <body>  
    7. <!-- 转向另一个页面,传递参数-->  
    8.     <jsp:forward page="userinfo.jsp">  
    9.         <jsp:param value="Baolibin" name="userName"/>  
    10.         <jsp:param value="23" name="userAge"/>  
    11.     </jsp:forward>  
    12. </body>  
    13. </html>  

    userinfo.jsp代码:

    1. <%@ page language="java"contentType="text/html" pageEncoding="utf-8"%>  
    2. <html>  
    3.     <head>  
    4.         <title>用户信息</title>  
    5. </head>  
    6. <body>  
    7.     <%  
    8.         String name=request.getParameter("userName");  //获取名字  
    9.         String age=request.getParameter("userAge");  //获取年龄      
    10.      %>  
    11.      <%="用户信息如下"%><br>  
    12.      <%="用户名字:"+name%><br>  
    13.      <%="用户年龄:"+age%>  
    14. </body>  
    15. </html>  


    4、<jsp:plugin>动作元素可以将服务器端的JavaBean和Applet下载到客户端执行。

    5、<jsp:useBean>、<jsp:setProperty>和<jsp:getProperty>这三个元素都是跟JavaBean有关。

    <jsp:useBean>动作元素用来装载一个将在JSP页面中使用的JavaBean。这个功能非常有用,它充分发挥了Java组件重用的优势,同时也提高了JSP使用的方便性。

    <jsp:setProperty>在获取Bean实例之后,就可以用这个动作元素来设置和修改Bean中的属性值。

    <jsp:getProperty>动作元素用来提取Bean中的属性值,并将其转换成字符串,然后输出。

    jspBean.jsp代码:

    1. <%@ page language="java"contentType="text/html" pageEncoding="utf-8"%>  
    2. <html>  
    3.     <head>  
    4.         <title>JavaBean Test</title>  
    5. </head>  
    6. <body>  
    7.     <!-- 创建jsp.User的实例,实例名为user -->  
    8.     <jsp:useBean id="user" class="jsp.User"scope="page" />  
    9.     <!-- 设置user的userName属性 -->  
    10.     <jsp:setProperty property="userName" name="user"value="Baolibin"/>  
    11.     <!-- 设置user的age属性 -->  
    12.     <jsp:setProperty property="age" name="user"value="23"/>  
    13.     用户信息:  
    14.     <br>用户名:  
    15.     <!-- 输出user的userName属性 -->  
    16.     <jsp:getProperty property="userName" name="user"/>  
    17.     <br>年龄:  
    18.     <!-- 输出user的age属性 -->  
    19.     <jsp:getProperty property="age" name="user"/>  
    20. </body>  
    21. </html>  


    User.java代码:

    1. package jsp;  
    2. public class User {  
    3.     private StringuserName;  
    4.     private int age;  
    5.     //setter和getter方法  
    6.     public StringgetUserName() {  
    7.         returnuserName;  
    8.     }  
    9.     public void setUserName(String userName) {  
    10.         this.userName= userName;  
    11.     }  
    12.     public int getAge() {  
    13.         return age;  
    14.     }  
    15.     public void setAge(int age) {  
    16.         this.age =age;  
    17.     }  
    18. }  


  • 相关阅读:
    Bootstrap框架
    前端基础之CSS
    前端知识之HTML内容
    python之路----递归函数
    python控制台输出带颜色文字的方法
    ELK搭建<三>:安装Kibana
    ELK搭建<二>:安装ES插件head
    ELK搭建<一>:搭建ES集群
    前端angular使用crypto-js进行加密
    Mac下全局安装yarn
  • 原文地址:https://www.cnblogs.com/baolibin528/p/4119681.html
Copyright © 2020-2023  润新知