刚使用struts2,用table写的一个简单的布局。 <table align="center" width="450" bgcolor="1F1F1F">
<tr bgcolor="#F7F7F7">
<td align="center">
部门名称 :
</td>
<td>
<s:textfield name="deptName"/>
</td>
</tr>
</table>用struts2的标签写的一个textfield,应该是一行两列,但在页面上显示的确是两行两列。
右键查看源代码如下: <table align="center" width="450" bgcolor="1F1F1F">
<tr bgcolor="#F7F7F7">
<td align="center">
部门名称 :
</td>
<td>
<tr>
    <td class="tdLabel"></td>
    <td
><input type="text" name="deptName" value="" id="DeptAction_deptName" style="WIDTH: 200px"/></td>
</tr>
</table><%@ taglib prefix="s" uri="/struts-tags" %>已经引入。
页面上的所有样式引用都去掉了。换成普通的html标签可以正常显示在一行两列。

解决方案 »

  1.   

    <s:textfield name="deptName" theme="simpe"/>
    或者在FORM表单上加上theme="simpe"
      

  2.   

    加一个form表单即可
    后面那个<input/>控件应该是隐藏域
      

  3.   

    如果我加上theme="simpe",提示Template /template/simpe/text.ftl not found.
    是不是要在某个地方配置下,加入text.ftl文件或者是少包吗?
      

  4.   

    ok,问题解决。
    struts2有个默认的模板,会自动生成一些html代码,去掉的话可以在你的struts.propertise内加入以下
    struts.ui.theme=simple 
    struts.ui.templateDir=template 
    struts.ui.templateSuffix=ftl 
    Struts2 默认提供了simple,xhtml,css_xhtml几个模板主题,,通过theme属性来调用,也可统一在struts.xml中配置。simple:不应用Struts2的模板,使用该模板需要在jsp页面中手写一句 <s:fielderror/> ,才能显示校验错误信息。xhtml:是默认的,带一些struts2提供的模块。
    例如有可能在你的表单中加入 <form …> <table class=”wwFormTable”> </table> </form>
    主要是方便界面警告和错误消息处理以及页面验证
    查看一下struts.properties

    org/apache/struts2/default.properties
    struts.ui.theme=xhtml
    struts.ui.templateDir=template
    struts.ui.templateSuffix=ftl你可以在struts.xml中添加
    <constant name=”struts.ui.theme” value=”simple” />来修改这个参数。css_xhtml:顾名思义就是结合css来处理这些内容。
      

  5.   


    这只是把它的主题改变了。默认是XHMTL
    <s:form action="register" theme="simple" >你看看是不是你的JAR包有问题
      

  6.   

    LZ问题自己把问题解决,可喜,请LZ结贴
      

  7.   

    <s:textfield name="deptName" theme="simple"/>