Struts2表单主题简单:错误位置上的错误消息

时间:2012-12-12 03:51:01

标签: java html struts2

我希望我的错误信息显示在我的字段的右侧。但是,如果密码字段有错误,则密码的错误消息位于userName字段的右侧。为什么它会这样?基于w3schools我的格式是正确的。错误消息密码不正确应位于密码字段的右侧。

这是我在表格中遵循的模式。

<table border="1">

      <tr>
        <td>UserNAme</td>
        <td>UserName Error message</td>
      </tr>

      <tr>
        <td>Password</td>
        <td>Password Error Message</td>
      </tr>


    </table>

这是我的Struts2代码。

 <!--Struts2 log-in-->
                            <s:form method="POST" action="login" theme="simple"  >  
                                <table border="1"  >
                                    <tr>

                                        <td>
                                            UserName:<s:textfield label="UserName"  key="userName" maxLength="20"/>
                                        </td>

                                        <td class="errorMessage">
                                            <s:property  value="fieldErrors.get('userName').get(0)"  /> 
                                        </td>

                                    </tr>

                                    <tr>

                                        <td>
                                            PassWord:<s:password  label="Password"  key="password" maxLength="20"/>
                                        </td>

                                        <td class="errorMessage">
                                            <s:property value="fieldErrors.get('password').get(0)" /> 
                                        <td>

                                    </tr>
                                    <tr> 
                                        <td>
                                            <s:submit  value="Login" align="center"/>
                                        </td>
                                    </tr>
                                </table>
                            </s:form>

This is the html result of the struts.

  <!--Struts2 log-in-->
                        <form id="login" name="login" action="/springtest/login.action" method="POST">  
                            <table border="1"  >
                                <tr>

                                    <td>
                                        UserName:<input type="text" name="userName" maxlength="20" value="tok" id="login_userName"/>
                                    </td>

                                    <td class="errorMessage">
                                        Username don't exist.
                                    </td>

                                </tr>

                                <tr>

                                    <td>
                                        PassWord:<input type="password" name="password" maxlength="20" id="login_password"/>
                                    </td>

                                    <td class="errorMessage">

                                    <td>

                                </tr>
                                <tr>
                                    <td>
                                        <input type="submit" id="login_0" value="Login"/>

                                    </td>
                                </tr>
                            </table>
                        </form>

3 个答案:

答案 0 :(得分:1)

这是因为Struts2使用Themes&amp;模板。

这可能会对你有帮助。

http://www.mkyong.com/struts2/working-with-struts-2-theme-template/

答案 1 :(得分:0)

根据您的问题CSS将扮演主角,只需通过动作类获取字段错误。但是您应该在动作类中指定错误。

存在两种类型的错误

1)字段错误 2)动作错误

此字段错误将在应用程序的上方显示错误。 然后通过css你可以对齐字段错误。

要获得更多优惠,您可以使用此链接,这将有所帮助

Struts Login Application

答案 2 :(得分:0)

我也遇到了同样的问题,我使用xml进行了验证,错误消息不在正确的位置,所以尝试了这个解决方案看看它是否有帮助你

<td align="left">
        <div><s:fielderror fieldName="birthDate" /></div>
        <sx:datetimepicker name="birthDate"  value="%{employee.birthDate}" />   
 </td>