Struts2自定义Theme

1. Struts2 Theme与WebWork Theme
     用法上是一样的,几乎没有差别,默认都是xhtm,区别就是将WebWork的配置改成了Struts的配置

2. Theme的作用
     Theme可以理解为模版,struts ui标签都有与之对应的模版,可以解压struts2-all-2.0.1.jar来看看,里面有template目录,打开xhtm查看struts ui标签对应的模版。我认为theme的作用如下:
    1) 统一考虑控件的外观和行为。例如对于文本框,有必填和非必填的,那么我们可以定制必填文本框的模版,在文本框后面带上红色的"*",并且带required校验。
    2) 统一的布局风格,我们只关注内容而不必关注布局。例如对form,一个应用中有多个查询界面,所有的查询界面都采用同样的form模版,保持统一的风格。

3. 定制Theme
   1) 在WEB-INF下建立文件夹themes/mytheme
   2) 配置struts.properties,指定使用的theme
           struts.ui.theme = mytheme
           struts.ui.templateDir = /WEB-INF/themes
   3) text.ftl
   普通文本框

<input type="text"<#rt/>
 name="${parameters.name?default("")?html}"<#rt/>
<#if parameters.get("size")?exists>
 size="${parameters.get("size")?html}"<#rt/>
</#if>
<#if parameters.maxlength?exists>
 maxlength="${parameters.maxlength?html}"<#rt/>
</#if>
<#if parameters.nameValue?exists>
 value="<@s.property value="parameters.nameValue"/>"<#rt/>
</#if>
<#if parameters.disabled?default(false)>
 disabled="disabled"<#rt/>
</#if>
<#if parameters.readonly?default(false)>
 readonly="readonly"<#rt/>
</#if>
<#if parameters.tabindex?exists>
 tabindex="${parameters.tabindex?html}"<#rt/>
</#if>
<#if parameters.id?exists>
 id="${parameters.id?html}"<#rt/>
</#if>
<#if parameters.cssClass?exists>
 class="${parameters.cssClass?html}"<#rt/>
</#if>
<#if parameters.cssStyle?exists>
 style="${parameters.cssStyle?html}"<#rt/>
</#if>
<#if parameters.title?exists>
 title="${parameters.title?html}"<#rt/>
</#if>
/>
required text

<input type="text"<#rt/>
 name="${parameters.name?default("")?html}"<#rt/>
<#if parameters.get("size")?exists>
 size="${parameters.get("size")?html}"<#rt/>
</#if>
<#if parameters.maxlength?exists>
 maxlength="${parameters.maxlength?html}"<#rt/>
</#if>
<#if parameters.nameValue?exists>
 value="<@s.property value="parameters.nameValue"/>"<#rt/>
</#if>
<#if parameters.disabled?default(false)>
 disabled="disabled"<#rt/>
</#if>
<#if parameters.readonly?default(false)>
 readonly="readonly"<#rt/>
</#if>
<#if parameters.tabindex?exists>
 tabindex="${parameters.tabindex?html}"<#rt/>
</#if>
<#if parameters.id?exists>
 id="${parameters.id?html}"<#rt/>
</#if>
<#if parameters.cssClass?exists>
 class="${parameters.cssClass?html}"<#rt/>
</#if>
<#if parameters.cssStyle?exists>
 style="${parameters.cssStyle?html}"<#rt/>
</#if>
<#if parameters.title?exists>
 title="${parameters.title?html}"<#rt/>
</#if>
/>
<span style="color:red">*</span>

下面的一行使用requiredtext模版
<s:textfield label="%{getText('username')}" name="username" template="requiredtext.ftl"/>

参考:http://www.jscud.com/srun/news/viewhtml/4_2006_3/182.htm

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cydooo/archive/2007/01/07/1476026.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值