jsp - 在JSP中以十六进制输出int

标签 jsp jstl el

在编写自定义标记来执行此操作之前,我想确保我没有错过 EL 或 JSTL 中的某些内容。

bean 属性返回一个 int,该属性存储在请求范围内。我需要将其输出为十六进制。但经过搜索,JSP中似乎没有办法输出EL从bean返回的int,因此......

${someBean.someInt}

...作为十六进制值,这样...

<%= String.format("0x%X", someBean.getSomeInt()) %>

...会。

我说得对吗?如果没有,是怎么做到的? (我们部门的编码标准不允许使用 <% %> 语法将 Java 直接包含在 JSP 中。如果我们找不到现有的东西,我们就必须编写标签。)

最佳答案

您无法在 EL 中或使用 JSTL 的格式标记执行此操作。编写自定义标签或 EL function是最好的选择。

如果它只是一个 int,您必须进行格式化,您可以向您的 bean 添加一个 String getter 来进行格式化

public String getSomeIntAsHex(){
  return String.format("0x%X", someInt);
}

然后你就可以在 EL 中使用该 getter

${someBean.someIntAsHex}

关于jsp - 在JSP中以十六进制输出int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12384391/

相关文章:

java - spring中form-login标签的作用是什么

jsp - 与 JSTL 中的枚举值比较

java - JSTL 访问父类(super class)属性

JSP/Servlet 表达式语言私有(private)变量访问

java - 在 jSTL 中迭代映射时出错

methods - JSTL 表达式语言访问对象属性

java - struts2和jsp上的小程序

java - 编辑器中的 Eclipse jsp 错误

javascript - 如何识别javascript中的单选按钮

java - 如何在 Web 应用程序后面运行 Java 程序,让 Web 应用程序访问它的对象?