【问题标题】:Remove new lines, generated by JSTL tags删除由 JSTL 标记生成的新行
【发布时间】:2013-02-17 22:21:07
【问题描述】:

我想建立到 src 属性的链接,这取决于一些参数

<%@page trimDirectiveWhitespaces="true" %>
...
<iframe style="border: 0; width: 100%; height: 100%;"
    src="http://localhost:8080/AppName?
<c:if test="${not empty it.paramOne}">
    paramOne=${it.paramOne}
</c:if>
<c:if test="${not empty it.paramTwo}">
    &paramTwo=${it.paramTwo}
</c:if>
<c:if test="${not empty it.paramThree}">
    &paramThree=${it.paramThree}
</c:if>
">
Your browser doesn't support iFrames. </iframe>

以上代码,生成如下html

<iframe style="border: 0; width: 100%; height: 100%;" src="http://localhost:8080/AppName?

paramOne=val1
&amp;paramTwo=val2
&amp;paramThree=val3
">
    Your browser doesn't support iFrames. </iframe>

链接看起来

http://localhost:8080/AppName/?%20%20%20%20%20%20paramOne=val1%20%20%20&paramTwo=val2%20%20%20&paramThree=val3

但我想得到

http://localhost:8080/AppName/?paramOne=val1&paramTwo=val2&paramThree=val3

我找到了这个http://flgor.blogspot.com/2011/07/jsp-new-line.html,但我想这不是我想要的。

那么如何去掉 JSTL 标签生成的空格和换行符呢?

【问题讨论】:

    标签: java jsp jstl newline


    【解决方案1】:

    尝试将所有内容放在一行中:

    <c:set var="url" value="http://localhost:8080/AppName?"/>
    
    <c:if test="${not empty it.paramOne}">
        <c:set var="url" value="${url}paramOne=${it.paramOne}"
    </c:if>
    <c:if test="${not empty it.paramTwo}">
        <c:set var="url" value="${url}&paramTwo=${it.paramTwo}"
    </c:if>
    <c:if test="${not empty it.paramThree}">
        <c:set var="url" value="${url}&paramThree=${it.paramThree}"
    </c:if>
    
    <iframe style="border: 0; width: 100%; height: 100%;"
        src="${url}">
    

    【讨论】:

      猜你喜欢
      • 2012-12-16
      • 2010-11-05
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 2012-04-19
      • 2022-12-07
      相关资源
      最近更新 更多