当前位置: 代码迷 >> Java相关 >> struts2特殊符号轮换
  详细解决方案

struts2特殊符号轮换

热度:83   发布时间:2016-04-22 19:38:27.0
struts2特殊符号替换

  今天用struts2做了一个小例子,结果发现个问题

  action代码如下

  private String table;    public String execute(){        setName("peter");        setTable("<tr><td>1232312321312</td></tr><tr><td>1232312321312</td></tr><tr><td>1232312321312</td></tr>");        return SUCCESS;    }    public String getTable() {        return table;    }    public void setTable(String table) {        this.table = table;    }

  然后再页面中调用的时候

<table id="mytable" border="1">      <tr><td>1232312321312</td></tr>      <s:property value="table"/>  </table>

  结果显示如下

  没有获得预期效果,然后右键查看源码发现,代码如下

<table id="mytable" border="1">      <tr><td>1232312321312</td></tr>      &lt;tr&gt;&lt;td&gt;1232312321312&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1232312321312&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1232312321312&lt;/td&gt;&lt;/tr&gt;  </table>

  struts2将“<”和“>”全部替换成html编码了。

  找了很多方法不能解决,最后只能放弃表达式,直接获取action中的数据

<table id="mytable" border="1">      <tr><td>1232312321312</td></tr>      <%=request.getAttribute("table") %>  </table>

  然后效果就出来了。

  而且后台代码也正常了。

<table id="mytable" border="1">      <tr><td>1232312321312</td></tr>      <tr><td>1232312321312</td></tr><tr><td>1232312321312</td></tr><tr><td>1232312321312</td></tr>  </table>

  原因未知,但问题解决了~~~~

  相关解决方案