关于struts2中form的theme

(一)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 label="提交"/>
</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 label="提交"/>
</s:form>

但在设置theme="simple"后,表单元素的label属性将失效,这时我们就得在表单元素前面加入想用label显示的文字。如:

<s:form action="login2" theme="simple">
      用户名:<s:textfield label="用户名" name="username"/>
      密码:<s:password label="密码" name="password"/>
    <s:submit label="提交"/>
</s:form>

此时显示的为将不在是label中的值,而是显示文本框前面的文字,按钮则显示它原来的默认值:sbumit。

(二)struts2中form的theme的修改 

在的html页面中使用struts2的ui tag的时候一般都要把theme设置为simple,在每个tag都设置比较麻烦。此时,我们可以使用如下两种方法修改默认值xhtml:

(1)在struts.xml文件中修改默认值:<constant name="struts.ui.theme" value="simple"/>;

(2)在struts.properties文件中,设置以下语句:struts.ui.theme=simple

猜你喜欢

转载自msirene.iteye.com/blog/1068916