首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JSTL中访问JSTL变量

在JSTL中访问JSTL变量
EN

Stack Overflow用户
提问于 2014-08-31 10:44:44
回答 2查看 2.8K关注 0票数 0

在jsp中,我有这个部分,并且工作正常。

代码语言:javascript
复制
<c:forEach var="info" items="${infoList}" >
<tr>
    <td>${info.key} </td>
    <td>${info.total}</td>
    <td>${info.delay}</td>
</tr>
</c:forEach>

这里,infoList来自struts动作类,它是类InfoArrayList

代码语言:javascript
复制
public class Info{
private String key;
private String total;
private String delay

}

现在,我需要添加另一个<td>,它将打印像${info.delay}*100/${info.total}那样计算出来的百分比,但是在十进制之后打印精确的两位数。

我试过这个

代码语言:javascript
复制
${ info.totalDelay*100/info.totalShipment } 

打印百分比,但不能限制为2位数。在java中我可以使用

代码语言:javascript
复制
NumberFormat formatter = new DecimalFormat("#0.00");

但是我怎么做呢?我在这里是因为在<% %> (jap tag)里我不能使用${}

我可以访问<% %> formatter .format() 中的变量,或者如何在 <c:> 标记中使用

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-31 13:39:52

使用JSTL 格式编号

代码语言:javascript
复制
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:formatNumber type="number" minFractionDigits="2" maxFractionDigits="2" value="${ info.totalDelay*100/info.totalShipment } " />
票数 3
EN

Stack Overflow用户

发布于 2014-08-31 12:10:41

嗯,我想出来了

在最上面我这样做了:

代码语言:javascript
复制
<%
 NumberFormat numberFormat=new DecimalFormat("#.##");
%>

我--我--我做了这件事:

代码语言:javascript
复制
<td>
<c:set var="tl" value="${info.total}"></c:set>
<c:set var="dl" value="${info.delay}"></c:set>
<jsp:useBean id="tl" class="java.lang.String"/> 
<jsp:useBean id="dl" class="java.lang.String"/> 

<%
     out.println(numberFormat.format(Double.parseDouble(dl)*100/Integer.parseInt(tl)));
%>
</td>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25591194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档