在我编写自定义标签之前,我想确保我没有错过EL或JSTL中的内容。
由bean属性返回的int存储在请求范围中。我需要输出为十六进制。但是在搜索之后,似乎JSP中没有办法输出一个由EL返回的int,因此......
${someBean.someInt}
...作为十六进制值,以......的方式。
<%= String.format("0x%X", someBean.getSomeInt()) %>
...那样。
我说错了吗?如果没有,它是如何完成的? (我们的部门编码标准不允许使用<% %>
语法将JSP直接包含在JSP中。如果我们找不到已有的东西,我们必须编写标签。)
答案 0 :(得分:2)
您无法在EL中执行此操作或使用JSTL的格式标记。编写自定义标记或EL function是最佳选择。
如果它只是一个int
你需要格式化,你可以在你的bean中添加一个String getter来进行格式化
public String getSomeIntAsHex(){
return String.format("0x%X", someInt);
}
然后你可以在EL中使用那个getter
${someBean.someIntAsHex}