我是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>
请帮我这样做..提前致谢。
答案 0 :(得分:1)
这是由于Struts2使用了默认主题。请记住,struts2使用主题布局根据您使用的标记生成HTML,并为您创建默认布局。
默认情况下,Struts2使用xhtml theme
,这意味着它会创建某种table, tr and td
。
只需查看生成的源代码,您就可以看到正在讨厌的内容。
我建议您切换simple theme
,它会让您使用自定义CSS控制布局。
看看themes以及它们是如何运作的,我相信它会帮助您获得一个想法