我在html div中有一个s:复选框。当代码运行时,复选框在div(div)之外,div和div似乎是空的且不存在。为什么会发生这种情况,我该如何解决?当我在任一div中放置随机文本时,div包含它。我将背景颜色设置为红色,这样我就可以检测到div。
<div id="outer">
<div id="inner">
<s:checkbox name="chBx" id"chBx" fieldValue="false" value="true" label="Check
This" />
</div>
</div>
答案 0 :(得分:1)
与this answer中描述的一样(您也应该考虑提升),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>
对象。