好久没弄过三大框架相关的东西了,今天重新拾起,弄了一下struts,发现被主题搞死了,自带的主题还是不爽啊,还是自己弄好。废话不多说,直接进入主题。
struts2标签默认使用struts2自带的样式。
<s:form action="/admin/login" method="post" namespace="admin"> <ul> <li><em>用户名:</em><s:textfield name="loginId" /></li> <li><em>密码:</em><s:password name="password" /></li> <li><em><s:submit value="登录" /></em> <s:reset value="重填" /> </li> </ul> </s:form>
当我们访问此页面时,可以看到生成的页面源如下:
<form id="_admin_login" name="_admin_login" action="admin//admin/login.action" method="post"> <table class="wwFormTable"> <ul> <li><em>用户名:</em><tr> <td class="tdLabel"></td> <td><input type="text" name="loginId" value="" id="_admin_login_loginId"/></td> </tr> </li> <li><em>密码:</em><tr> <td class="tdLabel"></td> <td><input type="password" name="password" id="_admin_login_password"/></td> </tr> </li> <li><em><tr> <td colspan="2"><div align="right"><input type="submit" id="_admin_login_0" value="登录"/> </div></td> </tr> </em> <tr> <td colspan="2"><div align="right"><input type="reset" value="重填"/> </div></td> </tr> </li> </ul> </table> </form>
我们可以不用理会这些代码是什么意思,只需要看到它会在我们原来的基础上额外添加一些table,tr,td等并添加相应的样式,这样会造成我们所添加的样式可能会失效。当然,很多时候我们并不需要struts2帮我们添加这些样式。
<constant name="struts.ui.theme" value="simple" />
这样struts便不会在使用标签时生成一些额外的代码,从而可以直接使用class或id进行样式的使用。当然如果我们不想这样的话,也可以直接在s:form标签中直接指定theme为其他的。
除了在struts.xml中进行配置外,struts.properties也可以进行修改,只是换成键值对的方式而已。这个大家可以自己看看。