zoukankan      html  css  js  c++  java
  • JAVA_WEB--jsp语法

    JSP声明

    一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,必须先声明这些变量和方法然后才能使用它们。
    JSP声明的语法格式:

    <%! declaration; [ declaration; ]+ … %>

    或者,也可以编写与其等价的XML语句,就像下面这样:

    <jsp:declaration>
    代码片段
    </jsp:declaration>
    • 1
    • 2
    • 3

    程序示例

    <%! int i = 0; %> 
    <%! int a, b, c; %>  

    JSP表达式

    一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
    由于表达式的值会被转化成String,所以可以在一个文本行中使用表达式而不用去管它是否是HTML标签。
    表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
    JSP表达式的语法格式:

    <%= 表达式 %>

    同样,您也可以编写与之等价的XML语句:

    <jsp:expression>
       表达式
    </jsp:expression> 

    程序示例:

    <html> 
    <head></head> 
    <body>
    <h1>
       <%! String msg = "Hello";%>
       <%= msg %>
    </h1>
    </body> 
    </html> 

    运行后得到以下结果:
    Hello

    JSP指令

    JSP指令用来设置与整个JSP页面相关的属性。
    JSP指令语法格式:

    <%@ directive attribute=”value” %>

    指令 描述
    <%@ page … %> 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
    <%@ include … %> 包含其他文件
    <%@ taglib … %> 引入标签库的定义,可以是自定义标签

    JSP行为

    JSP行为标签使用XML语法结构来控制servlet引擎。它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等。
    行为标签只有一种语法格式,它严格遵守XML标准:

    <jsp:action_name attribute=”value” />

    语法 描述
    jsp:include 用于在当前页面中包含静态或动态资源
    jsp:useBean 寻找和初始化一个JavaBean组件
    jsp:setProperty 设置 JavaBean组件的值
    jsp:getProperty 将 JavaBean组件的值插入到 output中
    jsp:forward 从一个JSP文件向另一个文件传递一个包含用户请求的request对象
    jsp:plugin 用于在生成的HTML页面中包含Applet和JavaBean对象
    jsp:element 动态创建一个XML元素
    jsp:attribute 定义动态创建的XML元素的属性
    jsp:body 定义动态创建的XML元素的主体
    jsp:text 用于封装模板数据

    JSP隐含对象

    对象 描述
    request HttpServletRequest类的实例
    response HttpServletResponse类的实例
    out PrintWriter类的实例,用于把结果输出至网页上
    session HttpSession类的实例
    application ServletContext类的实例,与应用上下文有关
    config ServletConfig类的实例
    pageContext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
    page 类似于Java类中的this关键字
    exception Exception类的对象,代表发生错误的JSP页面中对应的异常对象

    JSP属于脚本语言,这一片博客将继续介绍JSP的相关语法格式,通过一个循环的例子来演示JSP代码与HTML的整合。

    <%@page import="java.util.ArrayList"%>
    <%@page import="java.util.List"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%
       List<String> data = new ArrayList<String>();
       for (int i = 0; i < 10; i ++)
       {
          data.add("data" + i);
       }
    %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>index</title>
    </head>
    <body>
    <%
       for(String s:data)
       {
          out.print("<p>" + s + "</p>");
       }
    %>
    </body>
    </html> 

    这里写图片描述

    通过上面的示例,我们已经初步了解了最基本的使用方法,上面的代码是将JSP的代码片嵌入HTML中,简单的处理,是没有问题的,但当页面较复杂时,这样编写就很痛苦了,有点类似Servlet的编写方式,就无法体现出JSP的优势。

    <%@page import="java.util.ArrayList"%>
    <%@page import="java.util.List"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%
       List<String> data = new ArrayList<String>();
       for (int i = 0; i < 10; i ++)
       {
          data.add("data" + i);
       }
    %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>index</title>
    </head>
    <body>
    <%
       for(String s:data)
       {
    %>
          <p><%= s %></p>
    <%
       }
    %>
    </body>
    </html> 

    我们对循环的操作进行了修改,通过第二段代码我们发现,JSP的代码实际上是可以和HTML标签混合出现的,这样就简化了我们的工作。
    通过上面的两段代码,我们知道JSP代码片和HTML代码整合的时候可以嵌入也可以混合出现。

  • 相关阅读:
    使用Visual Studio自带工具dumpbin解析PE文件
    Python内置函数—bytearray
    .gitignore
    Git本地仓库基本操作
    推荐一款编辑神器UltraEdit
    APK文件结构
    在QQ浏览器中使用微信读书辅助工具“小悦记”插件
    Vue动画
    自定义指令的学习
    Vue过滤器的基本使用
  • 原文地址:https://www.cnblogs.com/lunatic-talent/p/12798287.html
Copyright © 2011-2022 走看看