在一个特殊的情况下,我需要使Java中的类与<jsp:useBean
相同。
听起来像是使用org.apache.commons.beanutils.BeanUtils.cloneBean(Object bean
)就可以完成这项工作。
但让我抓狂的是,我找不到与<jsp:
标记关联的TLD,也找不到<jsp:useBean
使用的类。
即使是Google上的<short-name>jsp</short-name>
也没有给我任何信息,JSP specs I found让我相信它不是一个像其他标签一样的标签,<jsp:useBean
背后的代码是在Java的核心。
我说的对吗?我错过了什么吗?
4条答案
按热度按时间mqkwyuun1#
JSP页中没有
<jsp:
元素的TLD。这些元素是JSP语言的一部分。使用此语言可以创建JSP页,但如果需要使用自定义TLD(如JSTL),则应使用taglib
指令。JSP的有趣之处在于:它现在被称为Jakarta Server Pages。您可以在文章What is JSP? Introduction to Jakarta Server Pages中阅读更多有关此内容的信息。
JSP是最早的Java Web技术之一,现在仍然广泛地与servlet和JSTL一起使用。下面介绍如何使用Jakarta Server Pages来构建连接到Java后端的动态网页。
6tqwzwtp2#
<jsp:useBean>
是一个动作标签,不是标签库的一部分,请参阅https://en.wikipedia.org/wiki/Jakarta_Server_Pages#Syntax,向下滚动到“附加标签”。代码可能是J2EE的一部分,或者在servlet容器中。现在,它显然是一个eclipse项目:https://projects.eclipse.org/projects/ee4j.jsp。
42fyovps3#
<jsp:useBean>
实际上是“JSP服务器标记标记”“服务器在JSP规范服务器中知道”,* 您所想到的“标记”是标准标记库c:f:是使用TLD标签库描述符(存储在jar包中,作为资源加载)的资源 ,来自 * 原始“自定义标签”API系统 。自定义标记不需要放在.jar中,如果不使用jar,则必须将它们放在 /webapplication/WEB-INF/tags/ 中,这些标记通常与非编程标记相关联,其操作类似于包含标记文件。jar打包的标记位于文件夹结构/webapplication/META-INF/tags/ 任何标记无论位于何处,都需要在XML标记(如包的顶级目录中的.tld文件)中命名为它们的完整路径。
vhipe2zx4#
如果您对bean的需求很简单,那么您可以直接将代码添加到JSP中。要了解我的意思,请查看从JSP生成的Servlet。每个JSP都被转换为Servlet。例如,考虑下面的JSP。
翻译(在Tomcat的工作文件夹中)为
useBean操作标记只是创建一个脚本变量并设置一个作用域变量。您可以在没有任何特殊标记的情况下完成此操作。下面的JSP做了同样的事情。