【问题标题】:How to compress the jsp code written through jstl tag如何压缩通过jstl标签写的jsp代码
【发布时间】:2015-06-14 18:28:50
【问题描述】:

我想压缩或修剪我的jsp代码,因为代码由于大量的值而变得非常大。我只想在两行中修剪或压缩以下代码,有什么办法吗?

<td style="${r.p95_vmeset-row.p95_vmeset eq 0 ? 'background-color: lime':'background-color: pink'}">
<fmt:formatNumber value="${((r.p95_vmeset-row.p95_vmeset))}" maxFractionDigits="2" minIntegerDigits="2" pattern="##.##" var="nn"></fmt:formatNumber>
<c:out value="${nn}"></c:out>
<fmt:formatNumber value="${(r.p95_vmeset-row.p95_vmeset)/r.p95_vmeset}" maxFractionDigits="2" minIntegerDigits="2"  var="mm"></fmt:formatNumber>
<c:out value="(${mm})" ></c:out></td>

意思是有没有其他方法可以把上面的代码写成两行?

【问题讨论】:

    标签: jsp compression jstl


    【解决方案1】:

    除了 td 标签,是的,它可以用两行来完成...
    只需删除对变量的赋值并将括号移到第二行即可。

    <fmt:formatNumber value="${((r.p95_vmeset-row.p95_vmeset))}" maxFractionDigits="2" minIntegerDigits="2" pattern="##.##"></fmt:formatNumber>
    (<fmt:formatNumber value="${(r.p95_vmeset-row.p95_vmeset)/r.p95_vmeset}" maxFractionDigits="2" minIntegerDigits="2"></fmt:formatNumber>)
    

    顺便说一句,我不确定这个值标签中是否需要括号:

    <fmt:formatNumber value="${((r.p95_vmeset-row.p95_vmeset))}" maxFractionDigits="2"...
    

    【讨论】:

    • 如果我不使用 c:out,我将如何显示
    • 您不必使用 c:out 来显示变量。 c:out 的好处是它会自动转义 XML 标记,因此它们不会被评估为实际标记。在输出动态文本时,您应该始终使用它,例如来自用户输入框的数据。但是,如果您有来自数据库的列存储为双精度,那么您知道其中不会有任何 xml。在上面的例子中,如果函数 formatNumber 接收到一个字符串,它会抛出一个错误,所以你知道它不包含任何 xml。
    • 查看this question了解c:out标签的解释,查看this site了解更多信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多