热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jspusebean_JSP动作标签–jspuseBean,包含,转发

jspusebeanJSPprovidesabunchofstandardactiontagsthatwecanuseforspecifictaskssuchasworkingwi

jsp usebean

JSP provides a bunch of standard action tags that we can use for specific tasks such as working with java bean objects, including other resources, forward the request to another resource etc.

JSP提供了一堆标准动作标签,我们可以将它们用于特定任务,例如使用java Bean对象(包括其他资源),将请求转发到另一个资源等。

JSP动作标签 (JSP action tags)

jsp action tags, jsp standard action

The list of standard JSP action elements are given below.


下面给出了标准JSP动作元素的列表。

JSP ActionDescription
jsp:includeTo include a resource at runtime, can be HTML, JSP or any other file
jsp:useBeanTo get the java bean object from given scope or to create a new object of java bean.
jsp:getPropertyTo get the property of a java bean, used with jsp:useBean action.
jsp:setPropertyTo set the property of a java bean object, used with jsp:useBean action.
jsp:forwardTo forward the request to another resource.
jsp:textTo write template text in JSP page.
jsp:elementTo define the XML elements dynamically.
jsp:attributeTo define the dynamically generated XML element attributes
jsp:bodyTo define the dynamically generated XML element body
jsp:pluginTo generate the browser-specific code that makes an OBJECT or EMBED tag for the Java plugin.
JSP动作 描述
jsp:include 要在运行时包含资源,可以是HTML,JSP或任何其他文件
jsp:useBean 从给定范围获取Java Bean对象或创建Java Bean的新对象。
jsp:getProperty 要获取Java bean的属性,请与jsp:useBean操作一起使用。
jsp:setProperty 设置与jsp:useBean操作一起使用的java bean对象的属性。
jsp:转发 将请求转发到另一个资源。
jsp:text 在JSP页面中编写模板文本。
jsp:element 动态定义XML元素。
jsp:属性 定义动态生成的XML元素属性
jsp:body 定义动态生成的XML元素主体
jsp:插件 生成特定于浏览器的代码,为Java插件创建OBJECT或EMBED标签。

Mostly in JSP programming, we use jsp:useBean, jsp:forward and jsp:include action. So we will focus on these action elements only.

通常在JSP编程中,我们使用jsp:useBean , jsp:forwardjsp:include操作。 因此,我们将仅关注这些行动要素。

JSP useBean (JSP useBean)

We can use jsp:useBean like below in JSP pages to get the bean object.

我们可以在JSP页面中使用如下所示的jsp:useBean来获取bean对象。

In the above example, JSP container will first try to find the myBeanAttribute in the request scope but if it’s not existing then it will create the instance of MyBean and then assign it to the myBeanAttribute id variable in JSP and sets it as an attribute to the request scope.

在上面的示例中,JSP容器将首先尝试在请求范围内找到myBeanAttribute ,但如果不存在,它将创建MyBean的实例,然后将其分配给JSP中的myBeanAttribute id变量,并将其设置为请求范围。

Once the bean is defined in JSP, we can get its properties using jsp:getProperty action like below.

一旦在JSP中定义了bean,我们就可以使用jsp:getProperty操作获取其属性,如下所示。

Notice that name attribute in jsp:getProperty should be same as id attribute in the jsp:useBean action. JSP getProperty action is limited because we can’t get the property of a property, for example if MyBean has a property that is another java bean, then we can’t use JSP action tags to get it’s value, for that we have JSP EL.

注意,jsp:getProperty中的name属性应该与jsp:useBean操作中的id属性相同。 JSP getProperty操作受到限制,因为我们无法获取属性的属性,例如,如果MyBean具有另一个Java bean的属性,那么我们就无法使用JSP操作标签来获取其值,因为我们拥有JSP EL

We can use jsp:setProperty to set the property values of a java bean like below.

我们可以使用jsp:setProperty来设置Java bean的属性值,如下所示。

If we want to set the property only if jsp:useBean is creating a new instance, then we can use jsp:setProperty inside the jsp:useBean to achieve this, something like below code snippet.

如果仅在jsp:useBean创建新实例时才想设置属性,则可以在jsp:useBean内使用jsp:setProperty来实现此目的,如下面的代码片段所示。



Most of the times we code in terms of interfaces, so if we have Person interface and Employee implementation and we are setting a request attribute like below.

大多数情况下,我们根据接口进行编码,因此,如果我们具有Person接口和Employee实现,并且正在设置如下所示的request属性。

Person person = new Employee();
request.setAttribute("person", person);

Then we can use type attribute with jsp:useBean to get the java bean object like below.

然后我们可以将type属性与jsp:useBean一起使用,以获取如下所示的java bean对象。

If we don’t provide scope attribute value in jsp:useBean, it’s defaulted to page scope.

如果我们不在jsp:useBean中提供范围属性值,则默认为页面范围。

If we want to set the Java Bean properties from request parameters, we can use param attribute like below.

如果要通过请求参数设置Java Bean属性,可以使用如下所示的param属性。



If property and param attribute values are same, we can skip the param attribute. For example if request parameter name is also id then we can simply write:

如果属性和参数属性值相同,则可以跳过参数属性。 例如,如果请求参数名称也是id,那么我们可以简单地编写:



If all the request parameter names match with the java bean properties, then we can simply set bean properties like below.

如果所有请求参数名称都与java bean属性匹配,那么我们可以像下面这样简单地设置bean属性。



JSP包括 (JSP include)

We can use jsp:include action to include another resource in the JSP page, earlier we saw how we can do it using JSP include Directive.

我们可以使用jsp:include动作在JSP页面中包含另一个资源,之前我们已经了解了如何使用JSP include Directive做到这一点。

Syntax of jsp:include action is:

jsp:include操作的语法为:

The difference between JSP include directive and include action is that in include directive the content to other resource is added to the generated servlet code at the time of translation whereas with include action it happens at runtime.

JSP include指令和include动作之间的区别在于,include指令中的其他资源的内容在转换时会添加到生成的servlet代码中,而include动作会在运行时发生。

We can pass parameters to the included resource using jsp:param action like below.

我们可以使用jsp:param操作将参数传递给包含的资源,如下所示。


We can get the param value in the included file using JSP Expression Language.

我们可以使用JSP表达式语言在包含的文件中获取param值。

JSP转发 (JSP forward)

We can use jsp:forward action tag to forward the request to another resource to handle it. Its syntax is like below.

我们可以使用jsp:forward action标签将请求转发到另一个资源来处理它。 它的语法如下。

That’s all for a quick roundup of JSP action tags. We will look into JSP Standard Tag Library (JSTL) in the future post.

这就是快速汇总JSP操作标签的全部内容。 我们将在以后的文章中探讨JSP标准标记库(JSTL)。

翻译自: https://www.journaldev.com/2082/jsp-action-tags-jsp-usebean-include-forward

jsp usebean



推荐阅读
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • 本文探讨了如何在 Google Sheets 中通过自定义函数实现 AJAX 调用。具体介绍了编写脚本的方法,以便在电子表格中发起 AJAX 请求,从而实现数据的动态获取与更新。这种方法不仅简化了数据处理流程,还提高了工作效率。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 本文深入探讨了 MXOTDLL.dll 在 C# 环境中的应用与优化策略。针对近期公司从某生物技术供应商采购的指纹识别设备,该设备提供的 DLL 文件是用 C 语言编写的。为了更好地集成到现有的 C# 系统中,我们对原生的 C 语言 DLL 进行了封装,并利用 C# 的互操作性功能实现了高效调用。此外,文章还详细分析了在实际应用中可能遇到的性能瓶颈,并提出了一系列优化措施,以确保系统的稳定性和高效运行。 ... [详细]
  • 本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • 在处理大规模并发请求时,传统的多线程或多进程模型往往无法有效解决性能瓶颈问题。尽管它们在处理小规模任务时能提升效率,但在高并发场景下,系统资源的过度消耗和上下文切换的开销会显著降低整体性能。相比之下,Python 的 `asyncio` 模块通过协程提供了一种轻量级且高效的并发解决方案。本文将深入解析 `asyncio` 模块的原理及其在实际应用中的优化技巧,帮助开发者更好地利用协程技术提升程序性能。 ... [详细]
  • 本文深入探讨了 HTML 中的 `margin` 属性,详细解析了其基本特性和应用场景。文章不仅介绍了 `margin` 的基本概念,还重点讨论了垂直外边距合并现象,并分析了 `margin` 在块级元素与内联元素中的不同表现。通过实例和代码示例,帮助读者全面理解 `margin` 的使用技巧和常见问题。 ... [详细]
  • 我正在使用 Ruby on Rails 构建个人网站。总体而言,RoR 是一个非常出色的工具,它提供了丰富的功能和灵活性,使得创建自定义页面变得既高效又便捷。通过利用其强大的框架和模块化设计,我可以轻松实现复杂的功能,同时保持代码的整洁和可维护性。此外,Rails 的社区支持也非常强大,为开发过程中遇到的问题提供了丰富的资源和解决方案。 ... [详细]
  • 通过优化模板消息机制,本研究提出了一种高效的信息化推送方案。该方案利用获取的访问令牌(access token)和指定的模板ID,实现了精准且快速的信息推送,显著提升了用户体验和信息传递效率。具体实现中,通过调用相关API接口,确保了消息的准确性和及时性,为用户提供更加便捷的服务。 ... [详细]
  • 从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南
    从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • 本文探讨了在Lumen框架中实现自定义表单验证功能的方法与挑战。Lumen的表单验证机制默认返回无状态的JSON格式API响应,这给初学者带来了一定的难度。通过深入研究Validate类,作者分享了如何有效配置和使用自定义验证规则,以提升表单数据的准确性和安全性。 ... [详细]
author-avatar
李2502933835
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有