spring form taglib禁用属性真的必须解析为字符串吗?

2024-01-02

我最近一直在研究 spring 表单标签库,并遇到了一个相当令人不安的现象。

<form:select path="whatever" disabled="${true}">

将渲染未禁用的选择元素

<form:select path="whatever" disabled="${'true'}">

将渲染禁用的选择元素。

这向我表明该标签需要该属性中的字符串,并且拒绝强制任何布尔值(可能首先检查类型)。

影响是我无法做类似的事情<form:select path="whatever" disabled="${someOtherfield.selectedId != -1}" />这是我们系统中经常发生的事情。

我只是缺少表单标签库功能的某些部分吗?这是一个合法的设计决定吗?缺陷?


好吧,我对此进行了更多的挖掘,因为解决方法看起来太丑陋了。

http://forum.springsource.org/showthread.php?t=84102 http://forum.springsource.org/showthread.php?t=84102

问题是 JSP 正在评估 el,并且盲目地使用“true”比较评估结果。等于

使用该方法将字符串与布尔值进行比较将始终返回 false,因为类型不匹配,因此这绝对是一个缺陷。

幸运的是,有问题的 isDisabled 方法是受保护的单行,因此我能够通过扩展 8 输入标记的有效并覆盖该方法来解决它,以进行稍微更稳健的比较。

所以答案是,是的,这是一个缺陷,从 skaffman 的评论来看,这似乎是一个旧库在 JSP EL 实现时没有得到很好更新的问题。

谢谢你们的回答

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

spring form taglib禁用属性真的必须解析为字符串吗? 的相关文章

  • 带有 Spring RequestMapping 路径参数的编码斜杠 (%2F) 给出 HTTP 400

    这不是重复的参考问题 https stackoverflow com questions 3235219 因为它是 Spring 特有的 无论谁添加了这个 事实发生三年后 都没有费心去阅读问题或评论线程来看看真正的答案是什么 接受的答案并不
  • 从 Windows Batch (cmd.exe) 中的文件读取环境变量

    我正在尝试从批处理文件中读取变量 以便稍后在批处理脚本 Java 启动器 中使用 理想情况下 我希望所有平台 Unix Windows 上的设置文件都具有相同的格式 并且也是有效的 Java 属性文件 也就是说 它应该看起来像这样 sett
  • 获取文本文件中行的字节偏移量?

    我有一个文本文件 例如 one two three four five 我需要获取文件中每一行的偏移量 我如何在 Java 中做到这一点 我搜索了一些 I O 库 如 BufferedReader 和 RandomAccessFile 但我
  • rmi类找不到异常

    我使用 java rmi 编写了一个简单的项目并导出到可执行 jar 文件 当我尝试运行它时 有时会出现异常 有时会起作用 当我指定 Djava rmi server codebase file serverClasses 时 它似乎没有正
  • Maven 部署:deploy-file 发布所有文件而不是一个

    我正在使用 Maven 构建我的 Java 应用程序Maven 组装插件 https maven apache org plugins maven assembly plugin 创建一个可执行的 jar 因此 目标文件夹包含多个 jar
  • Java TCP Echo 服务器 - 广播

    我有一个简单的回显服务器 我希望当连接的用户向服务器键入任何内容时 所有其他客户端和该客户端都会收到消息 MOD 它现在不会发送给所有客户端 但它应该发送 而且我只是不知道我的代码出了什么问题 所以现在它只会将消息 MOD 发送给发送消息的
  • 使用 PowerMock 和 TestNG 模拟单个静态方法

    class StaticClass public static String a return a public static String ab return a b 我想嘲笑StaticClass a以便它返回 x 并致电StaticC
  • 如何在 WebSphere Liberty Batch 中配置事务超时?

    的作用是什么javax transaction global timeout 我是否需要实施检查点 超时 中的方法检查点算法 服务器配置级别有什么东西吗 它如何与应用程序级别的设置进行交互 2016年12月2日编辑 重新设计并解释了为应用程
  • 在 XSSF 工作簿上设置密码保护

    我想为使用 poi 3 14 创建的 xlsx 文件添加密码保护 该文档声称 这是可能的 http poi apache org cryption html http poi apache org encryption html 使用我尝试
  • 使用 JPA 标准的“不在”约束

    我正在尝试写一个NOT IN约束使用JPA Criteria 我尝试过这样的事情 builder not builder in root get property1 虽然我知道这行不通 在上面的语法中 如何添加集合 列表property1会
  • 异步不适用于控制器的抽象超类方法

    我有一个BaseRestControllerRest 控制器扩展的类 它有一个我想异步运行的方法 public abstract class BaseRestController Async someThreadPoolTaskExecut
  • Apache Camel - 路由中的事务

    我有一个关于 Apache Camel 的一般性问题 我无法找到聚合器是否已进行交易 如果是交易 交易是如何实现的 聚合的速度有多快 将消息发送到聚合器可以在事务中运行 您需要一个带有聚合器的持久存储来让传出消息充当事务 请参阅有关持久性的
  • 为什么我在 Java 中收到有关“可能丢失精度”的警告?

    class Test public static void main String args short s 2 s1 200 s2 s2 s s1 error possible loss of precision System out p
  • CXF 增加连接池大小而不更改 http.maxConnections

    最近我被要求将 CXF 配置为与我们旧的 XFire 服务相同的参数 这些参数之一是Keep Alive timeout 60 max 20 然而 我做了一些研究 看来 CXF 使用 JVMHttpURLConnection引擎盖下的对象
  • 使用会话空闲超时进行轮询

    我对 Tomcat 中的所有应用程序使用单点登录 我的要求是 我必须轮询应从后端获取的事务状态 但它也不应该影响会话的空闲超时 有人可以建议是否可以做点什么吗 Thanx 我不知道是否有标准方法可以做到这一点 如果没有 你可以写一个过滤器
  • Spring Boot RestTemplate 连接池:管理过时连接

    我使用 RestTemplate 和 ConnectionPooling 使用 PoolingHttpClientConnectionManager 如下代码所示 PoolingHttpClientConnectionManager con
  • CDI Bean 访问 Spring bean?

    我知道这听起来很奇怪 将 CDI 焊接 和 Spring 混合用于控制器 但想象一下这种情况 有了CDI 我可以利用 ConversationScoped 这是我的要求之一 到目前为止我不知道我是否可以在这种范围内使用spring 因为如果
  • 如何根据受保护的 String doInBackground 方法中 AsyncTask 的结果调用 Toast.makeText() ?

    我从 AsyncTask 中的数据库中获取数据 如果它为空 我想吐司一个警告文本 我在 AsyncTask 中尝试过 但我了解到它不是在工作线程中调用的 这是我的 doInBackground 方法 protected String doI
  • 在服务器上创建 Zip 文件并使用 java 下载该 zip

    我从 mkyong 获得了以下代码 用于在本地压缩文件 但是 我的要求是在服务器上压缩文件并需要下载它 任何人都可以帮忙吗 代码写入zip文件 public void zipFiles File contentFile File navFi
  • Java:易失性足以使类线程安全?

    我有一个关于 Java 中 volatile 语句的问题 请看这个构造的例子 class Master Foo is a class with thread safe methods public volatile Foo foo clas

随机推荐

  • 我的教义真的很慢。简单查询,一秒出结果

    这是我的设置 Windows Server 2008 R2mysql 5 1 562PHP 5 3 2教义1 2 任何人都知道为什么我的查询需要大约一秒钟才能执行一个简单的查询 echo date Y m d H i s time micr
  • 如何在 OpenSMILE 中创建自定义配置文件

    我正在尝试使用 OpenSMILE 从音频样本中提取一些功能 但我意识到设置配置文件是多么困难 该文档不是很有帮助 我能做的最好的事情就是运行一些提供的示例配置文件 查看结果 然后进入配置文件并尝试确定指定功能的位置 这是我所做的 我使用了
  • AngularJS Linky 过滤器停止传播

    我有一个span标签看起来像这样 span span 在 ng repeat 内 但我有一个问题 如果item Name包含电子邮件或链接链接过滤器会更改 html 并插入锚标记 现在 当我单击链接时 ng click 会触发并且锚点打开
  • 如何在mvc5中将文化设置为全局

    我正在使用资源文件来切换在 mvc5 中构建的 Web 应用程序中的语言 在索引文件中 它读取我设置的文化值 我从layout cshtml 调用设置区域性方法 并使用以下代码调用其值 Layout Views Shared Layout
  • 将网格高度调整为可用屏幕,无需滚动条

    我应该使用什么网格属性来使网格完美地保持在屏幕内 Using height 100vh on wrapper调整高度 但引入了滚动条 为了删除不需要的滚动条 我尝试设置body margin 0 但我希望在整个网格周围有一个边距 而不产生滚
  • 响应对象 - 使用 Mollie 和 Omnipay 付款

    我正在尝试在 Laravel 项目中使用 Omnipay 和 Mollie 创建付款方式 我正在使用以下 2 个库 https github com barryvdh laravel omnipay https github com bar
  • Python:计算一组整数中所有元素之间的差异[重复]

    这个问题在这里已经有答案了 我想计算一组整数中所有元素之间的绝对差 我正在尝试做abs x y where x and y是集合中的两个元素 我想对所有组合执行此操作 并将结果列表保存在一个新集合中 我想计算一组整数中所有元素之间的绝对差
  • 参考错误:Jest 环境被拆除后“导入”文件

    我是测试反应本机应用程序的新手 我从 Jest 开始 运行名为 App test js 的测试 该测试通过了 但我收到参考错误 You are试图importJest 环境被拆除后的文件 我努力了 jest useFakeTimers an
  • 为 IQueryable 生成表达式 [重复]

    这个问题在这里已经有答案了 我正在使用 LINQ gt WCF 数据服务 gt EF 它支持 LINQ 的子集 但有一些注意事项 一旦学习了各种事情的技巧和解决方法 我就没有遇到任何麻烦 但我想制作一个可重用的表达式生成器来仅比较Date的
  • Git 合并在我的文件中留下了 HEAD 标记

    我尝试使用 Git 在命令行中合并文件 这时出现一条错误消息 告诉我合并已中止 我以为事情就这样结束了 但后来我意识到我的文件中有 gitmarks 就像这样 start expression validchar 0 9a zA Z int
  • 如何使倒计时器在页面刷新时不重置

    我正在为我的项目创建一个在线考试页面 我有一个倒计时器 但它会在页面刷新时重置 怎样才能让它不重置呢 通过从数据库获取时间来设置计时器 我正在使用 php mysql 请帮我 这是我的代码
  • ODBC 和 OleDB 有什么区别?

    我在这里找到了这个问题 OLEDB 与 ODBC https stackoverflow com questions 271504 oledb v s odbc 这给了我更多信息 但并没有真正回答我要问的问题 所以我将从那里开始 我正在使用
  • React 和 Material-UI:使用 TypeScript 在 createStyles() 中未定义主题

    我正在学习 React with TypeScript 并使用 Material UI 框架作为前端 我尝试让媒体查询正常工作 但出现错误 未捕获的类型错误 无法读取未定义的属性 up 在样式 webpack internal app co
  • SQL 查找查询结果的大小

    所以基本上我正在执行 SQL 选择查询 但我想知道我要撤回多少数据 多少千字节 实际上 显示客户统计数据 http blog sqlauthority com 2009 10 01 sql server sql server managem
  • 为什么 ActionDispatch::Routing::RouteSet 需要这么长时间

    我在 Rails 4 2 1 之上使用 Grape 为我们的应用程序提供 API 但是当我今天检查 Newrelic 的性能时我发现RackApp Proc call and Grape API Root call占用了大量的时间 见截图
  • 在 Mathematica 中使用 MapAt 中的 All

    我经常有一个成对的列表 例如 data 0 0 0 1 12 4 2 14 6 3 25 1 我想做点什么 例如Rescale 到所有第二个元素而不触及第一个元素 我知道的最巧妙的方法是 Transpose MapAt Rescale Tr
  • Sharepoint 2007 和

    问候 我试图让我的 Sharepoint 2007 网站在 IE 中浏览时以标准模式呈现 由于 DOCTYPE html 使我可能担心的每个浏览器都能做到这一点 所以我决定使用它 我到处读到 标准模式可能会导致某些 OOTB 功能和样式 弹
  • 将多个组件绑定到支持 bean 中的一个实例(Primefaces 树)

    我希望能够在我的页面上的 2 个位置拥有 Primefaces 树 原因是我想让具有相同数据的两棵树具有完全相同的状态 相同的节点展开等 我尝试将两个实例绑定到支持 bean 中的相同值 但这会导致仅渲染其中一个实例 我做错了吗 这应该以不
  • Erlang JSON 库:序列化性能?

    Erlang 有许多可用的 JSON 库 但我不清楚哪些具有最佳性能特征 其次是易用性 特别是对于 erlang to json 序列化 我的用例需要 JSON 解析和序列化 但 Erlang 代码可能会产生比接收输入至少多两个数量级的 J
  • spring form taglib禁用属性真的必须解析为字符串吗?

    我最近一直在研究 spring 表单标签库 并遇到了一个相当令人不安的现象