网站链接: 环球农商网
当前位置: 首页 > 资讯动态  > 平台资讯

JSP脚本元素、指令和预定义变量

2025/12/29 23:07:38 人评论

JSP 脚本元素 

JSP脚本元素用来插入Java代码,这些Java代码将出现在由当前JSP页面生成的Servlet中。脚本元素有三种格式: 

表达式格式<%= expression %>:计算表达式并输出其结果。 
Scriptlet格式<% code %>:把代码插入到Servlet的service方法。 
声明格式<%! code %>:把声明加入到Servlet类(在任何方法之外)。 
下面我们详细说明它们的用法。 

JSP 表达式 

JSP表达式用来把Java数据直接插入到输出。其语法如下: 
<%= Java Expression %>


计算Java表达式得到的结果被转换成字符串,然后插入到页面。计算在运行时进行(页面被请求时),因此可以访问和请求有关的全部信息。例如,下面的代码显示页面被请求的日期/时间: 
Current time: <%= new java.util.Date() %>


为简化这些表达式,JSP预定义了一组可以直接使用的对象变量。后面我们将详细介绍这些隐含声明的对象,但对于JSP表达式来说,最重要的几个对象及其类型如下: 

request:HttpServletRequest; 
response:HttpServletResponse; 
session:和request关联的HttpSession 
out:PrintWriter(带缓冲的版本,JspWriter),用来把输出发送到客户端 
下面是一个例子: 
Your hostname: <%= request.getRemoteHost() %>


最后,如果使用XML的话,JSP表达式也可以写成下面这种形式: 
<jsp:expression>
Java Expression
</jsp:expression>


请记住XML元素和HTML不一样。XML是大小写敏感的,因此务必使用小写。有关XML语法的说明,请参见《XML教程 》 

JSP Scriptlet 

如果你要完成的任务比插入简单的表达式更加复杂,可以使用JSP Scriptlet。JSP Scriptlet允许你把任意的Java代码插入Servlet。JSP Scriptlet语法如下: 
<% Java Code %>


和JSP表达式一样,Scriptlet也可以访问所有预定义的变量。例如,如果你要向结果页面输出内容,可以使用out变量: 
<% 
String queryData = request.getQueryString();
out.println("Attached GET data: " + queryData); 
%>


注意Scriptlet中的代码将被照搬到Servlet内,而Scriptlet前面和后面的静态HTML(模板文本)将被转换成println语句。这就意味着,Scriptlet内的Java语句并非一定要是完整的,没有关闭的块将影响Scriptlet外的静态HTML。例如,下面的JSP片断混合了模板文本和Scriptlet: 
<% if (Math.random() < 0.5) { %>
Have a <B>nice</B> day!
<% } else { %>
Have a <B>lousy</B> day!
<% } %>


上述JSP代码将被转换成如下Servlet代码: 
if (Math.random() < 0.5) { 
out.println("Have a <B>nice</B> day!");
} else { 
out.println("Have a <B>lousy</B> day!");
}


如果要在Scriptlet内部使用字符“%>”,必须写成“%\>”。另外,请注意<% code %>的XML等价表达是: 
<jsp:scriptlet>
Code
</jsp:scriptlet>


JSP 声明 

JSP声明用来定义插入Servlet类的方法和成员变量,其语法如下: 
<%! Java Code %>


由于声明不会有任何输出,因此它们往往和JSP表达式或Scriptlet结合在一起使用。例如,下面的JSP代码片断输出自从服务器启动(或Servlet类被改动并重新装载以来)当前页面被请求的次数: 
<%! private int accessCount = 0; %>
自从服务器启动以来页面访问次数为:
<%= ++accessCount %>



和Scriptlet一样,如果要使用字符串“%>”,必须使用“%\>”代替。最后,<%! code %>的XML等价表达方式为: 
<jsp:declaration>
Code
</jsp:declaration>


JSP 指令 

JSP指令影响Servlet类的整体结构,它的语法一般如下: 
<%@ directive a

相关资讯

  • 2018小程序电商行业报告:用户规模将破5亿,社交玩法促进成单量

    OMO时代已来,小程序将会是最重要的工具。差不多两周前,新榜推送了这篇文章《“一条”“日日煮”抢先入局,内容创业迎来OMO时代?| 新榜观察》,在趋势层面探讨了一个现象,去线下开店似乎正成为潮水的方向。比如,刚拿到C+轮融资的“一条”,宣布未来两年要开100家线下…

    2025/12/29 23:07:38
  • 超2000个小程序被封,押注在这里的7亿多资金风险有多高?

    小程序发布一年后,微信开始了大清理。近日,微信宣布永久封禁976个假货、高仿,数百个“色情、低俗”类,及1000多个现金贷小程序。在此之前,就有头脑王者、荔枝微课、千聊被封,目前,后两者已经解封,但头脑王者还在关闭中。据娱乐资本论旗下剁椒娱投了解,千聊发布了…

    2025/12/29 23:07:38
  • 微信小程序认证有哪些主体类别?

    微信小程序在申请过程中,微信要求所有的小程序都要进行主体登记。那么,对于个体工商户来说,应该选择哪种主体类型进行登记?今天,就来为你详细解析一番。1.微信小程序有哪些主体类别?目前,可以登记注册微信小程序的主体类别,有以下几种:个人企业(包括个体工商户)…

    2025/12/29 23:07:38
  • APP五网合一让手机APP的客量倍增

    APP五网合一让手机APP的客量倍增?如今,不少商家都亟需开发自己的App。有想要扩充购买渠道的,有拥有忠实客户需要提供便捷入口的,还有一些门店商家,需要通过独App,树立品牌形象扩大影响力。  因为时代的驱动, 也给一大波的 外包企业开发公司带来很多的客源收益,深…

    2025/12/29 23:07:38

共有条评论 网友评论

验证码: 看不清楚?