struts2標籤--form中的theme屬性
struts2中theme屬性包括xhtml,html,simple,ajax 。默認是xhtml
theme:設置struts2標籤的主題,默認爲xhtml。
theme=xhtml時:會默認額外生成tr,td。
theme=simple時:就生成標籤所對應的html標籤形式。
在默認情況下,表單元素是分佈在不同行的。如下代碼:
<s:form action="login2">
<s:textfield label="用戶名" name="username"/>
<s:password label="密碼" name="password"/>
<s:submit value="提交"/>
</s:form>
我們看着以上的代碼跟HTML的差不了多少,但是因爲struts2表單默認將表單內的每一個元素都分在單獨的一行,label屬性就如同我們在HTML中在<input type="text"/>前面的文字標籤一樣。如果我們不想讓它自動換行,那就應該寫成如下格式:
<s:form action="login2" theme="simple">
<s:textfield label="用戶名" name="username"/>
<s:password label="密碼" name="password"/>
<s:submit value="提交"/>
</s:form>
如下圖:
但在設置theme="simple"後,表單元素的label屬性將失效,這時我們就得在表單元素前面加入想用label顯示的文字。如:
<s:form action="login2" theme="simple">
用戶名:<s:textfield label="用戶名" name="username"/>
密碼:<s:password label="密碼" name="password"/>
<s:submit value="提交"/>
</s:form>
如下圖:
簡言之:加上theme="simple" 後,form中的每個單元元素不會自動換行