Struts2文本值显示在错误的位置

时间:2012-11-21 17:10:26

标签: java struts2 struts-validation

我创建了一个struts2登录页面,其中包含登录所需的所有基本组件。我正在使用struts2文本标签作为标签。以下是我的登录页面代码段。

  <body>
        <h2>Demo - Login</h2>
        <s:actionerror />
        <s:form action="login.action" method="post">
            <s:textfield name="username" key="label_username" size="20" />
            <s:password name="password" key="label_password" size="20" />
            <s:submit name="signIn" key="label_login" align="center" />
            <s:text name="name_msg"/>
            <s:submit name="signUp" key="label_signUp"></s:submit>
        </s:form>
    </body>

我总是看到标题后显示文字(演示新手?),如下图所示。从MessageBundle读取文本。尽管提到了资源包,我尝试给出一些直接的文本值,即使是相同的结果。我哪里错了。

enter image description here

1 个答案:

答案 0 :(得分:3)

<s:text>标记显示没有“装饰”的文字。

默认的“xhtml”主题的表单标签会发出表格标记。

这意味着您当前正在生成无效的HTML,因此文本将基于浏览器处理显示在表行之间的内容的方式显示在基本上任意的位置。

查看来源会立即回答这个问题。

您需要将文本放入表格行,与表单标记中的其他内容一样,或者使用“简单”主题并自行完成所有布局,错误消息等。