0

私は次のコードを持っています:

<s:select name="user.primaryGroup.id" list="#groupListAction.groups" listKey="id" listValue="name"
  headerKey="" headerValue="Please select" id="addUser-primaryGroup" />

問題は、オプション テキストに のようなエスケープされていない HTML が含まれること<b>Name</b>です。これにより、オプションが太字で表示されます。どうすればこれを防ぐことができますか? タグだけが<s:property/>htmlをエスケープしているようです。

4

2 に答える 2

0

代わりに、このアプローチを使用できます: html select with struts iterator <s:iterator>

<select id="xxx" size="1" name="xxx">
   <option value=""> <s:text name="page.search.emptyOption" /></option>          
   <s:iterator value="xxx">                     
      <s:if test="%{key.indexOf('|') == -1}">
         <option value="">XXXXXXXXXXXXXXXXX</option>
      </s:if>
   </s:iterator>
</select>

<s:property>これにより、タグで状況を制御してエスケープすることができます。

于 2014-08-27T15:55:04.767 に答える
0

That's true.. According to documentation, only property tag has parameter escape which is by default set to true. Select tag has no such parameter, so I am afraid you have to escape HTML server side... You can use JSoup or similar library for HTML manipulation...

于 2012-09-05T11:20:00.760 に答える