StringBuffer 求教
在 Struts Action 里,StringBuffer sb = new StringBuffer("aaaaaa<br><br>aaaaaaaaaa");通过DynaActionForm 传到页面显示,  <cut value="...."/>   请教 为什么不能把<br><br> 不能换行,还是直接输出<br><br>,有什么好的解决方法吗

解决方案 »

  1.   

    StringBuffer sb = new StringBuffer("aaaaaa <br> <br>aaaaaaaaaa");
    传递过来的是一个字符串"aaaaaa <br> <br>aaaaaaaaaa",
    所以页面得到的也是一格字符串"aaaaaa <br> <br>aaaaaaaaaa"
      

  2.   

    使用“\n”可以实现,即:StringBuffer sb = new StringBuffer("aaaaaa\n\naaaaaaaaaa");
    但是这样不太好,因为是java里面的换行。
    建议使用转义字符实现
    < : &lt;
    > : &gt;
    即StringBuffer sb = new StringBuffer("aaaaaa&lt;br&gt;aaaaaaaaaa");
    因为转义字符&lt;和&gt;会被网页识别为html语法
      

  3.   

     结果还是一样,难道是<c:out> 的原因。可是 用 <bena:write> 也不行。
    No Allow Invoice Look Up &lt;br&gt; No Allow Order Status &lt;br&gt; No Allow Show Price &lt;br&gt; No Allow Quotes &lt;br&gt; No Show Availability &lt;br&gt; No Allow Release Orders &lt;br&gt; No Show POD Sign &lt;br&gt;
      

  4.   

    用EL标签输出!
    1.action 中的代码:
    StringBuffer sb = new StringBuffer("aaaaaa <br> <br>aaaaaaaaaa");
    request.setAttribute("sb", sb);
    2.jsp 页面代码
    ${sb}
    这样就html标签就可原样输出!
      

  5.   

      <c:out value="${yy}" escapeXml="false" scope="session"></c:out>
    escapeXml这个属性默认是true,你把它设置成false..
      

  6.   


    这样就可以在页面运行字符串里的html代码了
      

  7.   

    我这个是封装在 DynaActionForm 里的 ,用了楼上几位的方法,结果还是:No Allow Invoice Look Up <br> No Allow Order Status <br> No Allow Show Price <br> No Allow Quotes <br> No Show Availability <br> No Allow Release Orders <br> No Show POD Sign <br>
      

  8.   

        <c:out value="${yy}" escapeXml="false" scope="session">  </c:out>  
    escapeXml这个属性默认是true,你把它设置成false..   这种方法可以 ,谢谢兄台。
      

  9.   

    <c:out value="${yy}" escapeXml="false" scope="session"> </c:out>
    <span><c:out value="${yy}"> </c:out></span>
    两种方法都可以。