今天用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> <tr><td>1232312321312</td></tr><tr><td>1232312321312</td></tr><tr><td>1232312321312</td></tr> </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>
原因未知,但問題解決了~~~~
新聞熱點
疑難解答