Struts2的自訂標籤會不會管太多了點,在<s:select>產出時竟會自動生成<tr><td>後再把自己的<select>放進去,導致排版老出狀況。

  後來解法是在struts.properties檔把struts.ui.theme屬性從xhtml改成simple。或是在strust.xml加一條如下:

<constant name="struts.ui.theme" value="simple" />

  上述方式均是全域性的改變,若只想對特定某個標籤套用theme,亦可以在標籤加入theme="simple"這個屬性,就不受全域struts.ui.theme屬性的影響,改法如下:

<s:select list="roleList" listKey="role.roleid" listValue="role.rolename" name="role.roleid" theme="simple"/>


  2009/9/30補述:在Struts2裡的Model Driven相當於Struts 1的ActionForm,是故以上述的<s:select>為例,它在model裡應該內含一個Role物件,Role裡再內含一個Roleid變數,才能在OGNL對name="role.roleid"設值。

  在我整合jQuery進來時,發現<s:select>對映的html的<select>標籤id是roleQueryList_role_roleid,小數點取代為底線,而第一個roleQueryList則是目前的action name,是故${roleQueryList_role_roleid}.value會取到被select的值。

arrow
arrow
    全站熱搜

    Jemmy 發表在 痞客邦 留言(0) 人氣()