需要帮助在jsp页面中显示错误消息

时间:2013-03-19 04:41:35

标签: jsp validation struts2 jsp-tags

我是struts 2的新手。我只是尝试使用validation.xml文件验证表单,它运行正常。

但错误消息显示在文本字段的顶部。需要使用红色字体将这些错误消息显示在测试字段的右侧。

我的jsp代码(index.jsp)

<s:form action="addEmp" method="post">
      <s:textfield name="name" label="Name" size="20" />
      <s:textfield name="age" label="Age" size="20" />
      <s:select name="gender" headerKey="0" headerValue="Select Gender"
     label="gender" list="#{'1':'Male','2':'Female'}" />

      <s:textfield name="email" label="Email" size="20" />
      <s:textfield name="phone" label="Phone_Number" size="20" />
      <s:textfield name="address" label="Address" size="20" />
      <s:submit name="submit" label="Login" align="center" />  
   </s:form>

我的Action类(Employee.java):

package com.tutorialspoint.struts2;
import com.opensymphony.xwork2.ActionSupport;

public class Employee extends ActionSupport{

   public String addEmployee()
   {
       return SUCCESS;
   }

}

struts.xml文件:

<action name="addEmp" 
   class="com.tutorialspoint.struts2.Employee"
  method="addEmployee"  >
   <result name="input">/index.jsp</result>
  <result name="success">/success.jsp</result>
</action>

和Employee-validation.xml文件:

 <validators>
       <field name="name">
          <field-validator type="requiredstring">
             <message>
                The name is required.
             </message>
          </field-validator>
       </field>

       <field name="gender">
         <field-validator type="int">
         <param name="min">1</param>
             <message>
                Please select a value
             </message>
          </field-validator>
       </field>

       <field name="email">
          <field-validator type="requiredstring">
             <message>
                The email is required.
             </message>
          </field-validator>
         <field-validator type="email">
             <message>
                Please enter a valid email ID
             </message>
          </field-validator>
       </field>

请帮我这样做..提前致谢。

1 个答案:

答案 0 :(得分:1)

这是由于Struts2使用了默认主题。请记住,struts2使用主题布局根据您使用的标记生成HTML,并为您创建默认布局。

默认情况下,Struts2使用xhtml theme,这意味着它会创建某种table, tr and td。  只需查看生成的源代码,您就可以看到正在讨厌的内容。

我建议您切换simple theme,它会让您使用自定义CSS控制布局。

看看themes以及它们是如何运作的,我相信它会帮助您获得一个想法