02-JSP-脚本

JSP脚本是Java Server Pages(JSP)中的一种元素,通过在JSP页面中嵌入Java代码来实现Web应用程序的动态效果。常见的JSP脚本有脚本表达式、脚本片段和声明

1、脚本表达式

JSP脚本表达式是JSP页面中的一个元素,它用于在HTML页面中嵌入Java表达式或代码,它组成的结果将作为HTTP响应发送给客户端浏览器。JSP容器在处理JSP页面时,会将脚本表达式中的Java代码解析并执行,然后使用其返回值来填充HTML页面中的相应位置。

脚本表达式由“<%=... %>”标记包围,其中“...”表示任何有效的Java表达式或语句。脚本表达式可以引用变量、调用方法或访问JavaBean属性,例如:

<p>当前时间是:<%= new java.util.Date() %></p>

上述示例中,脚本表达式中的Java代码会被执行,生成一个Date对象表示当前时间,并将其转换为字符串,并在HTML段落中显示。

除了内置对象和JavaBean属性之外,脚本表达式还可以引用声明在JSP页面中的变量,例如:

<%
  String message = "Hello, World!";
%>
<p><%= message %></p>

在上述示例中,声明了一个字符串变量message,然后在脚本表达式中使用它。当浏览器请求该页面时,脚本表达式会将该变量的值插入到HTML段落中。

2、脚本片段

JSP脚本片段是一系列Java代码的集合,用于在JSP页面中动态生成内容、处理逻辑和控制流程。与脚本表达式不同的是,脚本片段可以包含任何有效的Java代码,例如变量声明、方法定义、控制语句和异常处理程序等,同时也可以调用内置对象或其他Java类库。

脚本片段由“<%... %>”标记包围,其中“...”表示任何有效的Java代码。脚本片段可以直接插入到JSP页面中,或在包含文件中进行嵌套使用,以便实现更复杂的功能。

例如,以下示例演示了如何使用脚本片段输出当前时间:

<%
  java.util.Date now = new java.util.Date();
  out.println("<p>当前时间是:" + now + "</p>");
%>

在上述示例中,脚本片段中声明了一个Date对象now,并将其转换为字符串,然后使用out对象将其输出到HTML页面中。

脚本片段还可以引用页面中的变量、调用方法、访问JavaBean属性或其他Java类库。例如:

<%
  String message = "Hello, World!";
  out.println("<p>" + message.toUpperCase() + "</p>");
%>

在上述示例中,脚本片段中引用了一个名为message的字符串变量,并将其转换为大写形式,然后使用out对象输出到HTML页面中。

3、声明 

在 JSP 页面中,声明元素用于声明变量和方法。该元素可以位于页面的任何位置(在 HTML 和 Java 代码之间)。

声明元素由“<%!... %>”标记包围,其中“...”表示有效的Java代码,例如变量声明和方法定义,通常包含初始化值和可访问性修饰符(例如 public 或 private)。

以下是一个声明元素的示例,它声明了一个字符串变量和一个方法:

<%! 
  private String message = "Hello, World!"; 
  
  public String getMessage() { 
    return message; 
  } 
%> 

在上述示例中,声明元素定义了名为message的私有字符串变量,并初始化其值为"Hello, World!"。还定义了一个公共方法getMessage(),该方法返回message变量的值。

需要注意的是,声明元素中的变量和方法可以在JSP页面中的其他元素中引用和调用,包括脚本表达式、脚本片段和自定义标记。另外,声明元素的作用域与JSP页面相同,在页面执行完毕后被销毁。

声明元素通常用于在JSP页面中定义常量、共享变量、工具函数等,以便提高代码的重用性和可维护性。然而,由于声明元素可以直接访问或修改页面的状态,因此也可能会导致安全性问题和并发访问冲突,因此使用时应谨慎。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值