如何添加Struts 2业务服务

时间:2014-01-20 15:52:34

标签: java spring hibernate validation struts2

今天我参加了一项工作的实际测试。在那篇论文中,他们被要求创建一个小的Web应用程序,用于向DB提交一些数据并正确地分离层(MVC)。 所以我在该应用程序中使用了Struts 2和spring以及Hibernate集成。 我还使用了BO和DAO类。

测试是这样的,学生们询问科目。一个学生可以查询很多科目, 他们应该提交姓名电子邮件,主题和信息。

所以,我已正确完成数据提交部分。但作为最后一个问题,他们要求验证电子邮件地址,相同的电子邮件地址一天不能超过3次。作为提示他们使用商业服务。我无法做到这一点,我想知道如何做到这一点?

1 个答案:

答案 0 :(得分:0)

如果他们为您提供服务,您应该使用它而不是DAO。通过扩展ActionSupport并覆盖validate()方法,可以轻松验证。此验证类型称为 programmatic ,因为您没有为验证程序定义规则,而是通过检查操作状态和其他条件继续手动验证,并通过ActionSupport::addActionError()或{{1}添加错误具有默认实现的方法。例如

ActionSupport::addFieldError()

可以使用public void validate() { if (sameEmailAddressCannotUseMoreThan3TimeForADay(emailAddress)) addActionError("same email address cannot use more than 3 time for a day"); } ActionSupport::getText()对其进行调整,以将消息表示为错误。

MessageFormat::format()包含defaultStack拦截器,因此请使用默认设置,不要忘记配置validation结果。从验证中收集错误时,INPUT结果返回并且操作未执行。错误通过INPUT<s:actionerror/>显示在JSP中。

<强>参考文献: