struts2的form标签中自动添加table标签

初学struts2,在头脑中一直在想一个问题,就是对于struts2 ,当应用其自身的标签时,例如:

<s:form>
<s:textfield name="a"></s:textfield>
</s:form>

当查看源代码时为:

<form>
<table>
<tr><td><input type="text" name=a/></td></tr>
</table>
</form>

自动添加的table tr td 标签,但如果想一行显示多列怎么办?

网上查了查,有好多奇怪的解决办法,比如说通过在页面上判断,看什么时候输入<tr> 标签,但我认为,struts2这样做,那也太不人道了,后终于查到原因,现总结如下:

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

问题一:Struts2有哪些主题?

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

问题二:Struts2怎么改?

在Struts.xml中,加上下一行代码就可以了
<constant name="struts.ui.theme" value="simple" />

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

或者 在 <s:form 中添加 theme
<s:form theme="simple"></s:form>

struts2每个标签都有theme属性

(来自:http://bbs.javawind.net/fdc1ee6a2541eb5a0125421683f10012.jhtml)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>