《Servlet和JSP学习指南》一3.6 动作

简介: 本节书摘来自华章出版社《Servlet和JSP学习指南》一书中的第3章,第3.6节,作者(加)Budi Kurniawan,更多章节内容可以访问云栖社区“华章计算机”公众号查看

3.6 动作

第三种句法元素是动作(Action),它们被编译成执行某个操作的Java代码,例如访问某个Java对象,或者调用某个方法。本节讨论必须能被所有JSP容器支持的标准动作。除标准动作之外,还可以创建定制的标签,用来执行某些操作。定制标签将在第6章中讨论。
下面列举部分标准动作。doBody和invoke这两个标准动作将在第7章中讨论。

3.6.1 useBean

这个动作将创建一个与某个Java对象相关的脚本变量。它是将表现逻辑与业务逻辑分隔开来的最容易的方法之一。但是有了像定制标签和Expression Language这类技术之后,现在已经很少使用useBean了。
举个例子。代码清单3-9中的useBeanTest.jsp页面创建了一个java.util.Date实例,并将它与脚本变量today关联起来,之后将它用在一个表达式中。
image

在Tomcat中,这个动作会被编译成下面的代码:
image

运行这个页面之后,将会在浏览器中输出当前的日期和时间。

3.6.2 setProperty和getProperty

setProperty 动作是在一个Java对象中保存一个属性,getProperty则是获取一个Java对象的属性。举个例子,代码清单3-11中的getSetPropertyTest.jsp页面保存和输出Employee类实例的firstName属性,具体如代码清单3-10所示。
image

image

3.6.3 include

include动作用于动态地包含另一个资源,它可以包含另一个JSP页面、一个Servlet或者一个静态的HTML页面。例如,代码清单3-12中的jspIncludeTest.jsp页面就是利用include 动作来包含menu.jsp页面的。
image

理解include指令和include 动作之间的区别是很重要的。使用include指令时,这种包含是发生在页面转换的时候,例如JSP容器将页面转换成一个生成的Servlet的时候。使用include 动作时,这种包含则是发生在请求的时候。因此,可以利用include 动作传递参数,而不是利用include指令。
第二个区别在于,使用include指令时,被包含资源的文件扩展名并不重要。而使用include 动作时,文件扩展名则必须为jsp,以便它能够作为一个JSP页面进行处理。例如,在include 动作中用jspf作为扩展名时,将会使得这个JSP segment被当作静态文件进行处理。

3.6.4 forward

forward 动作是将当前页面跳转到另一个不同的资源。例如,下面的forward 动作就是将当前页面跳转到login.jsp页面。
image

3.6.5 错误处理

在JSP中错误处理支持得很好。你可以利用try语句处理Java代码,也可以指定一个页面,让它在应用程序遇到未捕捉的异常时显示出来。那么,一旦发生异常,用户将会看到一张经过精心设计的页面,解释目前发生了什么状况,而不是用一条错误消息打发用户,让他们皱眉不已。
利用page指令的isErrorPage属性,就可以把一个JSP页面变成一个错误处理页面,该属性值必须为true。代码清单3-13展示了这样一个错误处理程序。
image

要防止未捕捉异常的其他页面则必须使用page指令的errorPage属性,将路径引向属性值指定的错误处理页面。例如,代码清单3-14中的buggy.jsp页面就是利用了代码清单3-13的错误处理程序。
image

如果运行这个buggy.jsp页面,它就会抛出一个异常。但你不会看到Servlet/JSP容器产生的错误消息,而是会看到errorHandler.jsp页面显示的内容。

相关文章
|
Java 数据安全/隐私保护
JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
该博客文章通过JavaBean组件和JSP动作元素`<jsp:forward>`与`<jsp:param>`的使用示例,演示了用户登录流程,包括登录信息的提交、验证以及根据验证结果进行的页面跳转。
JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
|
11月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
224 0
|
11月前
|
XML Java 数据格式
探索研究JSP 动作元素
【10月更文挑战第1天】
157 4
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
`<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java
该博客文章讲解了JSP中`<jsp:getProperty>`和`<jsp:setProperty>`动作的使用方法,包括它们的语法格式和如何在页面中使用这些动作来获取和设置JavaBean对象的属性值,并通过图书信息的填写和展示示例进行了演示。
`<jsp:getProperty>`动作和`<jsp:setProperty>`动作的使用在一个静态页面填写图书的基本信息,页面信息提交给其他页面,并且在其页面显示。要去将表单元素的值赋值给Java
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
121 3
|
存储 缓存 前端开发
Servlet与JSP在Java Web应用中的性能调优策略
Servlet与JSP在Java Web应用中的性能调优策略
130 1
|
存储 Java
<jsp:useBean>动作的使用
该博客文章介绍了JSP中`<jsp:useBean>`动作的使用方法,包括其语法和如何通过该动作在不同作用域(如page、request、session、application)中创建和操作JavaBean对象,并提供了示例代码。
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
334 0