📜  JSP 中的指令

📅  最后修改于: 2022-05-13 01:56:36.757000             🧑  作者: Mango

JSP 中的指令

JSP 指令是 JSP 源代码的元素,它指导 Web 容器如何将 JSP 页面转换为相应的 servlet。
句法 :
@

<%@ directive attribute = "value"%>

指令可以有许多属性,您可以将它们列为键值对并用逗号分隔。 @ 符号和指令名称之间以及最后一个属性和结束 %> 之间的空格是可选的。
不同类型的 JSP 指令:
有三种不同的 JSP 指令可用。它们如下:

  • 页面指令: JSP页面指令用于定义应用JSP页面的属性,例如分配缓冲区的大小、导入的包和类/接口、定义它是什么类型的页面等。JSP页面指令的语法如下如下:
<%@page attribute = "value"%>
  • 不同的属性/属性:
    以下是可以使用 page 指令定义的不同属性:
    • import :这告诉容器需要将哪些包/类导入程序。
      语法
<%@page import = "value"%>
  • 例子 :
html
<%-- JSP code to demonstrate how to use page
 directive to import a package --%>
 
<%@page import = "java.util.Date"%>
<%Date d = new Date();%>
<%=d%>


html
<%-- JSP code to demonstrate how to use
page directive to set the type of content --%>
 
<%@page contentType = "text/html" %>
<% = "This is sparta" %>


html
<%-- JSP code to demonstrate how to use page
 directive to set the page information --%>
 
<%@page contentType = "text/html" %>
<% = getServletInfo()%>


html
<%-- JSP code to demonstrate how to use page
directive to ignore expression language --%>
 
<%@page contentType = "text/html" %>
<%@page isELIgnored = "true"%>




html
//JSP code to divide two numbers
<%@ page errorPage = "error.jsp" %> 
 
<%  
// dividing the numbers
int z = 1/0; 
 
 // result
out.print("division of numbers is: " + z);  
%>


html
//JSP code for error page, which displays the exception
<%@ page isErrorPage = "true" %> 
    

Exception caught

       The exception is: <% = exception %> Output:


html

This is the content of a.html



html
<% = Local content%>
<%@include file = "a.html"%>
<% = local content%>


html
<%-- JSP code to demonstrate
taglib directive--%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core"
prefix = "c" %> 
   


  • 输出

  • contentType :这定义了客户端和服务器之间正在交换的数据的格式。它的作用与 servlet 中的 setContentType 方法相同。
    语法
<%@page contentType="value"%>
  • 使用示例:

html

<%-- JSP code to demonstrate how to use
page directive to set the type of content --%>
 
<%@page contentType = "text/html" %>
<% = "This is sparta" %>
  • 输出 :

  • info : 定义可以使用 'getServletInfo()' 方法打印的字符串。
    语法
<%@page info="value"%>
  • 用法示例

html

<%-- JSP code to demonstrate how to use page
 directive to set the page information --%>
 
<%@page contentType = "text/html" %>
<% = getServletInfo()%>
  • 输出

  • buffer :定义为处理 JSP 页面分配的缓冲区的大小。大小以千字节为单位定义。
    语法
<%@page buffer = "size in kb"%>
  • language :定义页面中使用的脚本语言。默认情况下,此属性包含值“Java”。
  • isELIgnored :这个属性告诉页面是否支持表达式语言。默认情况下,它设置为 false。如果设置为 true,它将禁用表达式语言。
    语法
<%@page isElIgnored = "true/false"%>
  • 用法示例

html

<%-- JSP code to demonstrate how to use page
directive to ignore expression language --%>
 
<%@page contentType = "text/html" %>
<%@page isELIgnored = "true"%>



  • 输出
    (空白页)

  • errorPage :定义重定向到哪个页面,以防当前页面遇到异常。
    语法
<%@page errorPage = "true/false"%>
  • 使用示例:

html

//JSP code to divide two numbers
<%@ page errorPage = "error.jsp" %> 
 
<%  
// dividing the numbers
int z = 1/0; 
 
 // result
out.print("division of numbers is: " + z);  
%> 
  • isErrorPage :它对页面是否为错误页面进行分类。通过将页面分类为错误页面,它可以使用隐式对象“异常”,该对象可用于显示已发生的异常。
    语法
<%@page isErrorPage="true/false"%>
  • 用法示例

html

//JSP code for error page, which displays the exception
<%@ page isErrorPage = "true" %> 
    

Exception caught

       The exception is: <% = exception %> Output:
  • 输出

  • 包括指令:
  • JSP include 指令用于将其他文件包含到当前 jsp 页面中。这些文件可以是 html 文件、其他 sp 文件等。使用 include 指令的优点是它允许代码重用。
    包含指令的语法如下:
<@%include file = "file location"%>
  • 用法示例
    在下面的代码中,我们将 html 文件的内容包含到 jsp 页面中。
    一个.html

html

This is the content of a.html

  • 索引.jsp

html

<% = Local content%>
<%@include file = "a.html"%>
<% = local content%>
  • 输出 :

  • Taglib 指令: taglib 指令用于提及在 JSP 页面中使用其自定义标签的库。它的主要应用是JSTL(JSP 标准标签库)。
    语法
<@%taglib uri = "library url" prefix="the prefix to 
identify the tags of this library with"%>
  • 用法示例

html

<%-- JSP code to demonstrate
taglib directive--%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core"
prefix = "c" %> 
   

  • 在上面的代码中,我们使用 taglib 指令来指向 JSTL 库,它是 JSP 中的一组自定义标签,可以用来代替 scirptlet 标签 (<%..%>)。 prefix 属性用于定义用于标识此库的标签的前缀。这里,在 标签中使用前缀 c 来告诉容器这个标签属于上面提到的库。
    输出