2014-12-02 59 views
0

我在html div中有一個s:複選框。當代碼運行時,複選框位於外部(都)div和div似乎是空的並且不存在。爲什麼發生這種情況,我該如何解決?當我將隨機文本放在div中時,div就包含它。我將背景顏色設置爲紅色,以便我可以檢測到div。divs中的Struts2標籤顯示爲空

<div id="outer"> 
    <div id="inner"> 
     <s:checkbox name="chBx" id"chBx" fieldValue="false" value="true" label="Check 
      This" /> 
    </div> 
</div> 
+0

它與Struts標籤添加表標籤到它的html有關。它不是一個完整的答案,但它與這種情況類似。 http://stackoverflow.com/questions/15503610/how-can-i-position-multiple-struts-textfields-into-4-seperate-blocks-in-one-form – Freigheist 2014-12-02 15:18:38

+0

就是這樣。停止使用默認的XHTML主題(如果您不希望Struts2爲您生成額外的HTML),可以在struts.xml中全局設置SIMPLE主題,或者(如果您在任何地方都可以使用生成的HTML,那麼除外)標籤/表單通過內聯指定它們。 – 2014-12-02 15:31:19

+0

謝謝,隨時回答,我會標記它 – Freigheist 2014-12-02 15:41:33

回答

1

this answer描述(你應該考慮upvoting太),Struts2的產生(或沒有)a certain kind of HTML when rendering Struts Tags,立足您選擇on the Theme

默認的是xhtml,這將產生很多東西給你。根據你的工作方式,這可能是方便的,但也很煩人。我個人更喜歡自己生成HTML,然後使用不會生成幾乎任何HTML的主題:simple主題。

請注意,在處理大項目或具有相同特殊需求的多個項目時,您還可以編寫自己的自定義主題(例如自動生成安全令牌)。

您可以在全球範圍使用一個主題(在struts.xml中)

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

或本地到單個標籤/形式:

<s:checkbox name="chBx" id"chBx" fieldValue="false" 
      theme="simple" 
      value="true" label="Check This" /> 

在這種情況下,你可能需要編寫<label>自己反對。