如何使用 jsp:include param 标记将对象传递到另一个 jsp

2024-03-07

我正在尝试使用 jsp:include 标记将 DTO 对象从一个 jsp 发送到另一个 jsp。但它始终将其视为字符串。我无法在包含的 jsp 文件中使用 DTO。

这是一个代码..

<c:forEach items="${attributeDTOList}" var="attribute" varStatus="status">  
         <jsp:include page="attributeSubFeatureRemove.jsp" >
             <jsp:param name="attribute" value="${attribute}" />
         </jsp:include>
</c:forEach>

attributeSubFeatureRemove.jsp 文件 ..

<c:set value="${param.attribute}" var="attribute" />
<c:forEach items="${attribute.subFeatures}" var="subAttribute">
    <c:forEach items="${subAttribute.attributeValues}" var="subValue">
        <c:if test="${ subValue.preSelectionRequired}">
            <c:set var="replaceParams" value=":${subAttribute.name}:${subValue.name}" />
            <c:set var="removeURL" value="${fn:replace(removeURL, replaceParams, '')}" />
        </c:if>
    </c:forEach> 
    <jsp:include page="attributeSubFeatureRemove.jsp">
        <jsp:param name="subAttribute" value="${subAttribute}" />
    </jsp:include> 
</c:forEach>

这里我试图从参数中获取属性值,它总是发送字符串类型值。有没有办法在 attributeSubFeatureRemove jsp 文件中发送对象(DTO)?请帮忙。


我不认为你真的想要这里的标签文件。对于您想要完成的任务来说,这太过分了,而且太令人困惑了。您需要花时间理解“范围”。我会:而不是标记文件:

1)通过更改此行将您的属性更改为“请求”范围而不是默认的“页面”范围:

<c:forEach items="${attributeDTOList}" var="attribute" varStatus="status">

to this

<c:forEach items="${attributeDTOList}" var="attribute" varStatus="status">
    <c:set var="attribute" value="${attribute}" scope="request"/>

这将使“attribute”成为“requestScope”变量,可以在 c:import 的其他 JSP 文件中使用。 (注意:forEach 不支持作用域属性,因此请使用 c:set 在每次迭代中对其进行作用域。)

2)将原来的jsp:include改为c:import。因此将其更改为:

<jsp:include page="attributeSubFeatureRemove.jsp" >
    <jsp:param name="attribute" value="${attribute}" />
</jsp:include>

to this

<c:import url="attributeSubFeatureRemove.jsp"/>

请注意,我们不会显式尝试将该属性作为参数传递,因为我们已经将其提供给“requestScope”中的所有 c:imported 页面。

3) 修改您的 c:imported JSP,通过更改以下内容来使用 requestScope 引用该属性:

<c:set value="${param.attribute}" var="attribute" />
<c:forEach items="${attribute.subFeatures}" var="subAttribute">

to this

<c:forEach items="${requestScope.attribute.subFeatures}" var="subAttribute">

在这里,我们不再需要 c:set,因为您已经拥有可用的属性。我们只需要确保在 requestScope 中查找该变量,而不是在默认 pageScope 中或作为参数(因为我们不再将其作为参数传递)。

这种技术对你来说会更容易管理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 jsp:include param 标记将对象传递到另一个 jsp 的相关文章

  • 如何根据运行的 jar 的结果让我的 ant 任务通过或失败?

    我正在运行 CrossCheck 无浏览器 js 单元测试 作为 ant 脚本的一部分 如果 CrossCheck 测试失败 我希望 ant 报告失败 这是 build xml 中的相关部分
  • 如何动态突出显示网页上的字符串?

    我想创建带有 url 的页面 例如 http xyzcorp schedules 2015Aug24 Aug28 Jim Hawkins http xyzcorp schedules 2015Aug24 Aug28 Billy Bones
  • 如何使用 Hibernate (EntityManager) 或 JPA 调用 Oracle 函数或过程

    我有一个返回 sys refcursor 的 Oracle 函数 当我使用 Hibernate 调用该函数时 出现以下异常 Hibernate call my function org hibernate exception Generic
  • 使用 Guice 优化注册表

    你好 今天思考了一种优化 有一些疑问 语境 我正在使用 Guice 2 进行 Java 开发 在我的网络应用程序中 我有一个转换器注册表 可以即时转换为某种类型 转换器描述如下 public class StringToBoolean im
  • 从 GitHub 上托管的 Spring Cloud Config Server 访问存储库的身份验证问题

    我在 GitHub 上的存储库中托管配置 如果我将回购公开 一切都好 但如果我将其设为私有 我将面临 org eclipse jgit errors TransportException https github com my user m
  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • Java:如何为山区时间创建 TimeZone 对象?

    必须不禁用夏令时 嗯 在这个清单 http en wikipedia org wiki List of tz database time zones在 zoneinfo 时区名称中 有很多声称是 山地时间 找到最适合您想要的那个 然后使用它
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • 为什么将 x 和 y 设置为 0 时 svg 文本会消失?

    我刚刚开始阅读有关svg我提出了以下问题 我正在创建一个简单的svg with a text里面如下图所示 从我的阅读中我了解到x and y of the text标签声明文本在标签内的位置svg space 为什么当我同时设置x and
  • HashMap 值需要不可变吗?

    我知道 HashMap 中的键需要是不可变的 或者至少确保它们的哈希码 hashCode 不会改变或与另一个具有不同状态的对象发生冲突 但是 HashMap中存储的值是否需要与上面相同 为什么或者为什么不 这个想法是能够改变值 例如在其上调
  • 如何在php中使用preg添加html属性

    我正在寻找在 php 中编写一个脚本来扫描 html 文档并根据它找到的内容向元素添加新标记 更具体地说 我是扫描文档并为每个元素搜索CSS标记 float right left 如果找到它 它会添加align right left 基于它
  • 在 SWT/JFace RCP 应用程序中填充巨大的表

    您将如何在 SWT 表中显示大量行 巨大是指超过 20K 行 20 列的东西 不要问我为什么需要展示那么多数据 这不是重点 关键是如何让它尽可能快地工作 这样最终用户就不会厌倦等待 每行显示某个对象的实例 列是其属性 一些 我想使用 JFa
  • 引导行之间的垂直间距

    所以我正在研究布局 为了 响应能力 我决定使用 Bootstrap 现在我猜网格系统有问题 我想要的结果如下 1 4 2
  • 禁用特定 div 上的 Tab 键

    我有以下结构 div div Some content div div Some content div div 我想 禁用 div2 上的 tab 键 我的意思是按下 tab 键时 div2 的元素不会获得焦点 有没有简单的方法可以使用
  • Docker 和 Eureka 与 Spring Boot 无法注册客户端

    我有一个使用 Spring Boot Docker Compose Eureka 的非常简单的演示 我的服务器在端口 8671 上运行 具有以下应用程序属性 server port 8761 eureka instance prefer i
  • Resteasy 可以查看 JAX-RS 方法的参数类型吗?

    我们使用 Resteasy 3 0 9 作为 JAX RS Web 服务 最近切换到 3 0 19 我们开始看到很多RESTEASY002142 Multiple resource methods match request警告 例如 我们
  • Android:无法发送http post

    我一直在绞尽脑汁试图弄清楚如何在 Android 中发送 post 方法 这就是我的代码的样子 public class HomeActivity extends Activity implements OnClickListener pr
  • OpenCSV:将嵌套 Bean 映射到 CSV 文件

    我正在尝试将 bean 映射到 CSV 文件 但问题是我的 bean 具有其他嵌套 bean 作为属性 所发生的情况是 OpenCSV 遍历属性找到一个 bean 然后进入其中并映射该 bean 内的所有数据 如果找到另一个 bean 它就
  • 如何使用play框架上传多个文件?

    我在用play framework 2 1 2 使用java我正在创建视图来上传多个文件 我的代码在这里 form action routes upload up enctype gt multipart form data
  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复

随机推荐

  • 如何从网页(内的选项卡)的 HTML 页面源中提取数据?

    我尝试过其他答案中指定的几种解决方案 例如尝试不同的用户代理 Chrome safari 等 以及使用 HTTPClient 和 BufferedReader 直接获取 HTML 但它们都不起作用 如何使 Android 输出与 Web 输
  • 如何使用 Python 的 smtplib 发送电子邮件中的换行符?

    我编写了一个脚本 将消息写入文本文件并将其作为电子邮件发送 一切都很顺利 除了电子邮件最终似乎都在一行中 我添加换行符 n它适用于文本文件 但不适用于电子邮件 您知道可能的原因是什么吗 这是我的代码 import smtplib sys i
  • 为什么“‘数组’的存储大小不是恒定的”

    我是 C 语言新手 上周 我学习使用数组来解决问题 我发现当数组的数量太大时 比如1024 1024 它会显示错误 有些人建议我使用 static 来解决它 但是这个错误 标题 让我更加困惑 我想我已经定义了参数 它应该是不变的 但事实并非
  • Spring Kafka 和事务

    我想将 Spring Kafka 与事务一起使用 但我不太明白它应该如何配置以及它如何工作 这是我的配置 props put ProducerConfig ENABLE IDEMPOTENCE CONFIG true props put P
  • 用于解析 JSON 的 JavaScript eval() 替代方案

    快速提问 JavaScript 中的 Eval 不安全 不是吗 我有一个字符串形式的 JSON 对象 我需要将其转换为实际对象 以便获取数据 function PopulateSeriesFields result data eval re
  • 版本:属性的使用版本

    我认为 versions use releases不更新用于定义依赖项中版本的属性 是否也可以更新这些属性 我看到我们有一个versions update properties 但它的目的是将版本更新到最新版本 而不仅仅是用版本替换快照 一
  • Apple 的 TestFlight 应用程序是否会自动更新外部 Beta 测试人员安装的应用程序?

    我可以从 iTunes connect 控制面板看到测试版应用程序的每个版本有多少用户 TestFlight 何时更新这些应用程序 他们是否必须打开 TestFlight 并手动选择更新 当他们启动正在测试的应用程序时 它会自动发生吗 我似
  • Swift 内存管理是如何工作的?

    具体来说 Swift 内存管理如何使用委托模式与选项一起工作 由于习惯了用 Objective C 编写委托模式 我的本能是让委托weak 例如 在 Objective C 中 property weak id
  • 将尚无超链接的文本替换为超链接

    一个更好的例子是这样的 string That is a very nice ford mustang if only every other ford was quite as nice as this honda 我想用制造商和型号的链
  • Javascript 和 Jquery 中的 array.eq() 与 array[]

    访问数组时 什么时候适合使用 eq 函数 例如 我有 slides eq slidesLength 1 css z index slidesLength 1 后来我 for i 0 i
  • 这些 PMD 规则的原因是什么?

    数据流异常分析 已找到 DD 变量 变量 异常 行 n1 n2 数据流异常分析 已找到 DU 变量 变量 异常 行 n1 n2 DD 和 DU 听起来很熟悉 我想说的是与最弱的前后条件相关的测试和分析之类的事情 但我不记得具体细节了 Nul
  • spring boot jpa无法创建表

    当我设置时 我使用 spring boot starter data jpa 来持久化我的实体 spring jpa hibernate ddl auto update 发生错误 但值为create或create drop 一切顺利 创建了
  • 插入新项目时如何防止recyclerview自动滚动到底部?

    我在用RecyclerView查看我的数据 但是当有很多项目时 RecyclerView每次插入新项目时都会自动滚动到底部 如何预防呢 这是插入代码 Override public void onChildAdded NonNull Dat
  • “gcc -s”和“strip”命令有什么区别?

    我想知道这两者有什么区别 gcc s 从可执行文件中删除所有符号表和重定位信息 strip 丢弃目标文件中的符号 它们有相同的含义吗 您使用哪一个来 减少可执行文件的大小 加快其运行速度 gcc作为编译器 链接器 其 s选项是完成的事情链接
  • azure-arm-consumation:获取资源组的消耗

    在我的 Node js 项目中 我尝试使用azure arm 消费包 https learn microsoft com en us javascript api azure arm consumption view azure node
  • 为什么 ioctl 返回“错误地址”

    我使用下面的代码从嵌入式板的 SPI 端口输出数据 olimex imx233 micro 这不是板特定的问题 当我运行代码时ioctl返回 地址错误 我正在修改代码http twilight ponies cz spi test c ht
  • 如何获取由而不是插入触发器插入的表标识?

    我有一个问题描述如下 我有一张表 其中有一个而不是插入触发器 create table TMessage ID int identity 1 1 dscp varchar 50 GO Alter trigger tr tmessage on
  • 颤振变化波二次贝塞尔曲线到点

    通过下面的实现代码 我们有了这个自定义形状设计 在这个设计中我想将其更改为 当我刚刚学习创建自定义形状时 我无法做到这一点 有任何人可以帮助我如何实现这一目标吗 thanks import package flutter material
  • 需要新的委派权限时未征求用户同意

    我有一个 ASP NET 应用程序 它使用 OWIN 中间件对我的 Azure Active Directory 实例进行身份验证 在 Azure 门户中 我已为 ASP NET 应用程序创建了应用程序注册 并且身份验证效果很好 用户已经登
  • 如何使用 jsp:include param 标记将对象传递到另一个 jsp

    我正在尝试使用 jsp include 标记将 DTO 对象从一个 jsp 发送到另一个 jsp 但它始终将其视为字符串 我无法在包含的 jsp 文件中使用 DTO 这是一个代码