当属性名称本身是动态变量时如何获取bean属性的值

2024-05-06

我正在尝试编写一个自定义 JSPX 标记,该标记从给定列表中的每个对象读取给定 bean 属性的值,并将该属性的名称作为 JSP 属性传递给该标记。该标签看起来像这样:

<jsp:root xmlns:c="http://java.sun.com/jsp/jstl/core"
        xmlns:jsp="http://java.sun.com/JSP/Page"
        version="2.0">
    <jsp:output omit-xml-declaration="yes"/>

    <jsp:directive.attribute name="items" type="java.lang.Iterable"
        required="true" description="The items whose properties are to be read"
        rtexprvalue="true"/>
    <jsp:directive.attribute name="propertyName" type="java.lang.String"
        required="true" description="The name of the bean property to read"
        rtexprvalue="true"/>

    <c:forEach items="${items}" var="item">
        <!-- This is the bit that doesn't work -->
        <jsp:getProperty name="item" property="${propertyName}" />
    </c:forEach>

</jsp:root>

问题是property的属性jsp:getProperty标签似乎不接受表达式,只接受文字值。所以这可以工作,但对我来说没有用(因为我直到运行时才知道属性名称):

<jsp:getProperty name="item" property="firstName" />

我得到的错误是:

org.apache.jasper.JasperException: org.apache.jasper.JasperException:
PWC6054: Cannot find any information on property '${propertyName}' in
a bean of type 'com.example.FooBar'

谢谢你的帮助。


如果要使用动态属性名称,请使用大括号表示法。

<c:forEach items="${items}" var="item">
    ${item[propertyName]}
</c:forEach>

也可以看看:

  • Jakarta EE 教程 - 表达式语言 - 引用对象属性 https://eclipse-ee4j.github.io/jakartaee-tutorial/#referencing-object-properties-or-collection-elements
  • Jakarta EE 教程 - 表达式语言 - EL 表达式示例 https://eclipse-ee4j.github.io/jakartaee-tutorial/#examples-of-el-expressions
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当属性名称本身是动态变量时如何获取bean属性的值 的相关文章

  • 我可以使用 jsp 标签在加载时隐藏输入字段吗

    我需要根据请求属性的值隐藏页面加载时的字段 我不想要 隐藏 字段 因为我想再次显示它 我不想用 JavaScript 来做到这一点 这是如何用 jsp 标签完成的 在 EL 中使用条件运算符 div class where hide 是请求
  • 访问器(get 和 set 函数)受 C++ 程序员欢迎吗?

    我本来就来自C 世界 现在正在学习C 我一直想知道 C 中的 get 和 set 函数 在 C 中 这些的使用非常流行 像 Visual Studio 这样的工具通过使它们非常容易和快速地实现来促进使用 然而 在 C 世界中似乎并非如此 这
  • Spring引导@Configurable

    我正在尝试配置Autowired在 Spring Boot 应用程序下的非 Spring 托管类中 我在部署在 tomcat 服务器下的 Web 应用程序下成功运行了这个 但是当我想在 Spring Boot 下运行它时 没有任何效果 我制
  • JSP中如何在两个变量之间插入空格? [复制]

    这个问题在这里已经有答案了 我在 JSP 页面上的表单中有一行 html 如下所示
  • 在 passtrough 属性中使用 f:selectItems var

    我可以将表达式传递给 JSF 2 传递属性吗 以下代码不起作用 表达 country isoCode 不予评价
  • Eclipse jsp 编辑器中出现错误

    我在 jsp 文件中遇到错误 在 X 行上 但这一切似乎都是正确的
  • 在 Objective-C 中获取对象的属性数组

    Objective C 中是否可以获取对象所有属性的数组 基本上 我想做的是这样的 void save NSArray propertyArray self propertyNames for NSString propertyName i
  • 搜索实体的所有字段

    我正在尝试在客户数据库上实现 多功能框 类型的搜索 其中单个查询应尝试匹配客户的任何属性 这是一些示例数据来说明我想要实现的目标 FirstName LastName PhoneNumber ZipCode Mary Jane 12345
  • 如何从java代码中检测操作系统语言(区域设置)

    从java代码中了解操作系统语言 区域设置 的正确方法是什么 我努力了 Locale getDefault System getProperties user language 但它们并不正确 实际上没有显示 系统区域设置 可以通过 Win
  • VBA 从文本文件的属性获取日期

    我正在尝试获取特定文本文件上传到计算机的日期 该日期不在实际的文本文件中 您必须右键单击然后转到属性才能查看日期 我需要将日期读入变量 我不知道从哪里开始尝试完成这件事 谢谢你 杰西 斯莫瑟蒙 如果内置FileDateTime 不是你可以使
  • 关于 Swift 中重写类属性的困惑

    我已阅读 Swift 文档并在这里搜索 但我仍然不确定如何实现类层次结构 其中每个子类为继承的静态属性设置自定义值 那是 基类定义了一个静态属性 所有实例共享相同的值 子类覆盖静态属性 所有实例共享相同的值 这与基类不同 财产可以储存吗 另
  • abc.abstractmethod + 属性

    根据docs http docs python org 3 3 whatsnew 3 3 html abc它应该能够结合起来 property and abc abstractmethod所以以下应该在 python3 3 中工作 impo
  • 在派生类中使属性只读

    我正在重写派生类中的一个属性 我想将其设置为只读 C 编译器不允许我更改访问修饰符 因此它必须保持公共状态 最好的方法是什么 我应该扔一个InvalidOperationException in set 让二传手投掷InvalidOpera
  • Spring mvc 添加多行

    我需要你的帮助 因为标题说我在从 jsp 表单插入多行时遇到问题 该代码来自该网站的答案 控制器 ModelAttribute programform public ProgramForm populatePojos Don t forge
  • 最终属性 @Value 中的 Spring 属性注入 - Java

    一个关于 Spring 从属性文件注入最终属性的简单问题 我有一个属性文件 我想在其中存储文件路径 通常 当我使用属性文件时 我使用如下内容设置类属性 private Value someProps prop field String so
  • 如何模拟类路径上属性文件的存在?

    这肯定是一个常见问题 我有一个像这样的属性文件my settings properties由应用程序类读取 当我编写测试类时 它需要测试可能存在的不同场景my settings properties为了确保最大的代码覆盖率 例如空属性文件
  • Android:从http获取文件并存储在SDCard中

    我已经遵循了许多类似问题中所写的内容 但仍然存在问题 从jsp我得到一个pdf 如果我转到URL 浏览器会自动打开pdf jsp页面会执行类似以下操作 Gets the pdf from the database BufferedInput
  • 自定义 JSP 标记 - 检测其他实例的存在

    自定义 JSP 标记是否可以检测页面中是否存在其自身的其他实例 如果是这样 首选的方法是什么 我的标签的输出需要有条件地取决于它是否是唯一的实例 请注意 我的页面出现了三次标签 其中两个具有与第三个不同的属性集 因此我知道从资源池分配了两个
  • 继承php中的属性

    我有一个超类 其中包含用于设置它们的属性和方法 class Super private property function construct set this gt property set 然后我有一个需要使用该属性的子类 class
  • Spring 3 集合绑定

    如何将集合绑定到输入数据的表单 不用于显示 例如为一个Set

随机推荐

  • Rails 缓存数据库查询和最佳实践

    我网站上的数据库负载变得非常高 因此我需要缓存每小时被调用 1000 次且结果不变的常见查询 例如 在我的城市模型上 我执行以下操作 def self fetch id Rails cache fetch city id City find
  • 为什么找不到ImageView类?

    当我转到图形布局时 我在创建第一个 Android 应用程序 pdf Android Application Development for For Dummies 中的静默切换模式 时遇到了麻烦 在 main xml 文件中插入了 Ima
  • 将 Outlook 中选定电子邮件的电子邮件正文显示为 Excel 中的消息框?

    我正在使用 excel 2010 并创建了以下 vba 代码 该代码查找主题标题中包含单词 test 的电子邮件 然后在 excel 中显示包含该电子邮件正文的消息框 Sub GetFromInbox Dim olApp As Outloo
  • 为什么 NPM 7.17 不安装我的对等依赖项

    我有一个main依赖于包的项目package1在本地文件存储中 package1同行取决于快递 name package1 version 1 0 0 description main index js scripts test echo
  • 在 Android 10 上使用 RNFetchBlob 的下载管理器 React Native 下载文件

    我需要使用 React Native 应用程序将文件下载到用户的下载目录rn 获取 blob https www npmjs com package rn fetch blob 但似乎与 Android 10 不兼容 因为我收到错误 首先我
  • 如何验证文本文件中的用户名和密码? | Winforms C#

    首先我制作了textbox1 用于用户名 textbox2 用于密码 和button1 检查 后 private void button1 Click object sender EventArgs e FileStream fs new
  • 从 Android Intent 打开图库应用

    我正在寻找一种打开方式Android来自意图的画廊应用程序 我不想返回图片 而是只是打开图库以允许用户使用它 就像他们从启动器中选择它一样 View pictures folders 我尝试执行以下操作 Intent intent new
  • 如何指定 GridFS 存储桶?

    这是我的 express js 代码 用于将文件上传和下载到 GridFS var fs require fs var gridStream require gridfs stream var mongoose require mongoo
  • 在节点上生成 AES 密钥

    我正在处理一个使用自定义协议来加密通信的遗留应用程序 随机 AES 密钥在旧版 Java 应用程序中生成 如下所示 keygen KeyGenerator getInstance AES keygen init 128 keygen gen
  • 无法访问 VBA 中的 COM 公开方法

    我正在尝试在 VBA 中访问 COM 公开的方法 Problem 我看到所有默认方法 例如GetHashCode GetType and ToString 在 VBA 中但是not那些是 COM 接口的一部分并且专门编写为 COM 可见的
  • 为什么“Get-ChildItem -File | Get-FileHash”有效?

    我对 Bash 比对 Powershell 更熟悉 有时我对后者的对象模型感到困惑 看着Get FileHash 的文档 https learn microsoft com en us powershell module microsoft
  • 获取VirtualStore中存储的日志文件的真实路径

    我的应用程序将日志文件存储在一个位置 根据管理设置 该位置可以重定向到 VirtualStore 中的文件夹 例如 它们有时最终会出现 日志文件位于 C Users my username AppData Local VirtualStor
  • 我能否确保在 5.10+ 上编写的 Perl 代码可以在 5.8 上运行?

    Perl 5 10 和 5 12 的一些新功能 例如 say 被定义为功能 您可以使用 feature 编译指示显式启用或禁止这些功能 但其他添加 例如正则表达式的命名捕获组 是隐式的 当我使用 5 10 解释器编写 Perl 但希望它也能
  • 将按钮控件嵌入到现有 Direct3D 应用程序中

    我想将自己的内容覆盖在 Direct3D v9 游戏 由第三方制作 之上 叠加互动按钮 具体来说 我想覆盖一个可点击的按钮控件 就像 Steam 所做的那样 尽管我正在尝试一个更简单的界面 理想情况下 我能够覆盖 WPF 按钮或 Windo
  • Twitter-Typeahead 不提供建议

    我正在尝试使用twitter typeahead rails 我的目的是当我在 Typeahead 输入框中键入内容时 通过下拉框建议模型 User 的实例 但是 当我打字时什么也没有发生 有人看到我的代码有什么问题吗 Gemfile ge
  • mysql:拒绝行更新

    我有一个包含 3 个字段的表 其中一个是 状态 status 是一个 ENUM 可能包含 a b 或 c 内容 我需要找到一种方法来拒绝对 status b 的所有行进行任何更新 甚至不允许根用户更新这些行 所以这就像让这一行成为 最终 如
  • AngularJS ng-重复重新渲染

    我正在使用 AngularJS 构建一个简单的应用程序 应用程序向服务器发出异步 AJAX 调用 服务器返回一个如下所示的数组 paragraphs content content one content cnt two content r
  • 如何在 div 中加载页面?

    我被告知使用 Div 代替 iframe 是前进的方向 所以我使用横幅和主体中的框架 如何将我的index html加载到我的div中 你尝试过 jquery 的 load 吗 通过服务器端技术 您可以轻松地做到这一点
  • 添加/删除类到父 DOM 元素 React js

    我想在单击添加 删除按钮时从父 DOM 元素添加 删除类 就像我单击添加类按钮一样 然后它将新的类名 clicked 添加到父 div 中 并在单击删除类按钮时删除该类 索引 html div class main div div clas
  • 当属性名称本身是动态变量时如何获取bean属性的值

    我正在尝试编写一个自定义 JSPX 标记 该标记从给定列表中的每个对象读取给定 bean 属性的值 并将该属性的名称作为 JSP 属性传递给该标记 该标签看起来像这样