struts2标签的样式问题

最近发现Struts2标签的一个样式问题,网上查询后找到解决的方法,下面简单做下说明,希望别人可以借鉴下。

   页面标签代码:

<s:form action="dictionarytype-list" id="action_form">

<table cellspacing="0" cellpadding="0" >
  <tr>
    <td>数据字典类型编码:</td>
    <td><input type="text" name="dictionaryType.dicTypeCode" value="                     <s:property value="dictionaryType.dicTypeCode"/>" id="qry_dicTypeCode"  maxlength="30" />

   </td>
   <td>是否启用: </td>
   <td><s:if test="dicIsEnable!=null"> <s:select name="isEnable" list="dicIsEnable" headerKey="" headerValue="请选择" listKey="dictionaryKey" listValue="dictionaryValue" value="dictionaryType.isEnable" cssClass="selectClass"/></s:if></td>
    <td><input type="button" value="查询" class="btnlist4" οnclick="checkseracha();"/></td>
  </tr>
</table>

</s:form>    

样式如下:

当查看源代码时为:

<tr>

<td>数据字典类型编码:</td>
<td>
<input id="qry_dicTypeCode" type="text" maxlength="30" value="" name="dictionaryType.dicTypeCode">
</td>
<td>是否启用: </td>
<td></td>
</tr>
<tr>
<td class="tdLabel"></td>
<td>
<select id="action_form_isEnable" class="selectClass" name="isEnable">
</td>
</tr>

发现得:在<td>是否启用: </td>后面多了<td></td>

<td><select id="action_form_isEnable" class="selectClass" name="isEnable"></td>前面多了

<td class="tdLabel"></td>

分析得这是struts2标签自动添加上去的,这样显示的样式就乱了。

原理:在struts2中加入了theme(主题)的概念,通过设置不同的主题,可以让struts的代码输出不同的html代码,你也就相应得到不同的布局效果。

Struts2提供了三种主题,ajax, simple, xhtml,它默认的是xhtml主题,当然你可以写任意个你自己的主题,我们称之为自定义主题


解决办法如下:

1.简单的方法(也很实用)

在Struts.xml中,加上下一行代码就可以了

<constant name="struts.ui.theme" value="simple" />

代表所有的页面采用的都是 simple主题了,这时它输出的页面,不回添加任何多余的代码,比如 table tr td 等,我们就可以像其他编辑页面的方式编辑页面的风格。

或者 在 <s:form 中添加 theme

<s:form theme="simple"></s:form>

struts2每个标签都有theme属性

2.在Struts.properties里改:

#设置主题
struts.ui.theme=simple

可见另一篇:struts.properties

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值