<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标签在HTML中错位的问题
原文地址:http://blog.51cto.com/1197822/2153929