在编写自定义标记来执行此操作之前,我想确保我没有错过 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/