诡异的struts2标签: select在action的table中自动加了tr和td <100分>

明悟 2011-11-10 11:16:23
我在jsp的页面里面的select和input是同一个td里面

<tr>
<td align="right">审批人</td>
<td colspan="3">
<input type="checkbox" name="job.approve"/>需要审批
<input type="text" id="approvaler" name="approvaler" readonly="readonly" style="width:500px"/>
<s:select list="users" id="users1" cssStyle="width:100px" headerKey="" headerValue="请选择审批人" onchange="adduser('approvaler',this)"/>
</td>
</tr>

但是访问到的页面却在另外一个td里面

<tr>
<td align="right">审批人</td>
<td colspan="3">
<input type="checkbox" name="job.approve"/>需要审批
<input type="text" id="approvaler" name="approvaler" readonly="readonly" style="width:500px"/>
<tr>
<td class="tdLabel"></td>
<td
><select name="" id="users1" style="width:100px" onchange="adduser('approvaler',this)">
<option value=""
>请选择审批人</option>
<option value="1111(1111)">1111(1111)</option>
<option value="洪阳(样子)">洪阳(样子)</option>
<option value="aaaa(aaaa)">aaaa(aaaa)</option>


</select>
</td>
</tr>

</td>
</tr>

请教各位高手,这是怎么一回事啊?
有什么办法可以解决啊?
...全文
412 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
小V小V志 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 huxiweng 的回复:]
struts2中包含了一些默认的模版文件($ {struts-core-2.06.jar}/template),其中有ajax/simple/xhtml等.其中很多标签会给你换行或者添加<tr><td>等。你要在所用的标签上加theme="simple"可以解决,或者你直接把默认的theme改了就可以了。


查看struts.properties或$ {struts-core-2.06.j……
[/Quote]
简单来说加theme=simple
teemai 2011-11-10
  • 打赏
  • 举报
回复

struts2中包含了一些默认的模版文件($ {struts-core-2.06.jar}/template),其中有ajax/simple/xhtml等.其中很多标签会给你换行或者添加<tr><td>等。你要在所用的标签上加theme="simple"可以解决,或者你直接把默认的theme改了就可以了。


查看struts.properties或$ {struts-core-2.06.jar}/org/apache/struts2/default.properties文件,其中有如下配置:
struts.ui.theme=xhtml
struts.ui.templateDir=template
struts.ui.templateSuffix=ftl

这一段就是关于struts2模版的配置信息,我们可以修改struts.properties文件,将其改成
struts.ui.theme=simple
struts.ui.templateDir=template
struts.ui.templateSuffix=ftl

如果没有struts.properties文件,可以修改struts.xml文件,在其中加入如下行

<constant name="struts.ui.theme" value="simple" />
<constant name="struts.ui.templateDir" value="template" />
<constant name="struts.ui.templateSuffix" value="ftl" />

struts.ui.theme=simple可以解决struts2标签自动换行问题,即不再自动被添加进table标签中。
神笔马良 2011-11-10
  • 打赏
  • 举报
回复
theme = "simple"正解。。。试过。。。
sdliubo 2011-11-10
  • 打赏
  • 举报
回复
struts2 啊,没看清,那看来应该是theme="simple"的原因,可以试试在<form中加入 theme="simple"
kouyiSC 2011-11-10
  • 打赏
  • 举报
回复
前两天才有一个这样的帖子

解决方法:s:select 标签中加一个属性:theme="simple"
sdliubo 2011-11-10
  • 打赏
  • 举报
回复
是不是因为表格列不匹配的原因?
比如:
<tr>
<td>1</td><td>2</td><td>3</td><td>4</td><td>5</td>
</tr>
<tr>
<td align="right">审批人</td><td colspan="3">......</td>
</tr>

这样的话上下两行列不匹配,把colspan改大点再试试。
lyhmy 2011-11-10
  • 打赏
  • 举报
回复
确实没注意过这个问题,不过我通常不将S标签和普通标签直接混合使用的,他们会导致布局混乱的,我一般都是:1、当S标签不多时,直接在该S标签中加上属性theme="simple";
2、如果混用比较多,加起来比较麻烦,会直接在配置文件中加上:
<constant name="struts.ui.theme" value="simple"/> 这样可以避免混用导致的布局混乱
shixitong 2011-11-10
  • 打赏
  • 举报
回复
s:select 加一个theme="simple" 看看
还真没注意过这个问题
明悟 2011-11-10
  • 打赏
  • 举报
回复
感谢大家的回答,问题得以解决
yxy353245805 2011-11-10
  • 打赏
  • 举报
回复
同上。。。
xiaoqiuwyh 2011-11-10
  • 打赏
  • 举报
回复
7楼说得很明白了。
东方2009 2011-11-10
  • 打赏
  • 举报
回复
struts标签最好不要和正常标签一起使用

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧