之前在做Struts2的一些实例,在排版上遇到了一些问题。请看以下代码
Logon.jsp
===========================================================
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>
登录页面
</title>
</head>
<body>
<s:form action="Logon">
<s:textfield label="%{getText('username')}" name="username" />
<s:password label="%{getText('password')}" name="password" />
<s:submit />
</s:form>
</body>
</html>
配置好其它相关的设置后,打开Logon.jsp,可以看到网页上输出了以下的HTML代码
<html>
<head>
<title>
登录页面
</title>
</head>
<body>
<form id="Logon" name="Logon" onsubmit="return true;" action="/aidress/Logon.action" method="post">
<table class="wwFormTable">
<tr errorFor="Logon_username">
<td align="center" valign="top" colspan="2">
<span class="errorMessage">
User Name is required.
</span>
</td>
</tr>
<tr>
<td class="tdLabel">
<label for="Logon_username" class="errorLabel">
User Name:
</label>
</td>
<td>
<input type="text" name="username" value="" id="Logon_username"/>
</td>
</tr>
<tr errorFor="Logon_password">
<td align="center" valign="top" colspan="2">
<span class="errorMessage">
Password is required.
</span>
</td>
</tr>
<tr>
<td class="tdLabel">
<label for="Logon_password" class="errorLabel">
Password:
</label>
</td>
<td>
<input type="password" name="password" id="Logon_password"/>
</td>
</tr>
<tr>
<td colspan="2">
<div align="right">
<input type="submit" id="Logon_0" value="Submit"/>
</div>
</td>
</tr>
</table>
</form>
</body>
</html>
细心的话就可以注意到,像下面这几行代码是它自动帮你加上去的
<span class="errorMessage">
Password is required.
</span>
真自动啊,这种事都帮我做了!
可我不想要它啊,我想把它放到别的地方去,或者干脆说,我只想用Struts的action处理机制,不想用struts的默认布局,又或者你想做。。。。。。总之就不要默认的,怎么办?
这就涉及到struts2的theme(主题)了,换不同的主题,可以让struts的代码输出不同的html代码,你也就相应得到不同的布局效果,我就是这么理解theme的,并且换theme也非常简单,这样你可以设定N个不同的主题,每五分钟换一个都行啊(你喜欢的话)
问题一:Struts2有哪些主题?
Struts2提供了三种主题,ajax, simple, xhtml,它默认的是xhtml主题,当然你可以写任意个你自己的主题,我们称之为自定义主题
问题二:Struts2怎么改?
比如现在你想用simple主题,在Struts.xml中,加上下一行代码就可以了
<constant name="struts.ui.theme" value="simple" />
如果能用好主题,可以更精确地控制Struts的布局,当然这样的话你得了解很多东西,因为Struts2的主题是由一堆模版构成,它默认的模版是用FreeMarket编写的,文件名后缀是ftl,在它的jar包里的templete目录可以找到任一主题相应的ftl文件,大家有兴趣可以研究一下它是怎么写的,当然它也支持其它的模版,怎么用就自己研究一下吧,我也不太清楚
本文介绍了Struts2框架中主题的使用方法,包括如何更改默认主题以实现不同的布局效果,以及如何通过配置文件指定特定主题。
2万+

被折叠的 条评论
为什么被折叠?



