gpt4 book ai didi

java - 将业务规则存储在 XML 文档中,然后在 Java 中验证,如何?

转载 作者:行者123 更新时间:2023-12-01 16:04:58 25 4
gpt4 key购买 nike

XML 规则文档示例:

<user>
<username>
<not-null/>
<capitals value="false"/>
<max-length value="15"/>
</username>
<email>
<not-null/>
<isEmail/>
<max-length value="40"/>
</email>
</user>

我该如何实现这个?我从头开始,我目前拥有的是一个 User 类和一个 UserController,它将 User 对象保存在 de DB 中(通过 Service 层和 Dao 层),基本的 Spring MVC。 我无法使用 Spring MVC 验证,但是在我们的模型类中,我必须使用 XML 文档,以便管理员可以更改规则

我认为我需要一种根据 XML 规则文档提供的内容动态构建算法的模式,但除了大量的 if 语句之外,我似乎想不到任何其他东西。

我还没有任何用于解析的东西,我不确定如何将其与验证过程的实际实现耦合(分离)。

最佳答案

这个轮子已经被重新发明了很多次!

您可能可以通过实现 Spring 的 Validator 来使用 Spring MVC 验证。接口(interface),但您可能需要实现或找到一种方法,使验证基于通过其他方式加载的规则。

googled并找到了许多描述如何在 Spring 中使用公共(public)验证的页面。作为奖励,一些人描述了使用 valang。如果您的管理员可以在部署之前编辑验证规则,那么其中之一可能就足够了。

如果您确实想要制定自行开发的 XML 业务规则,您可能需要使用 Apache Digester 来解析规则。 。您可能希望将规则加载到您自己的 Spring Validator 接口(interface)实现所使用的数据结构中。

如果规则在部署后必须更改,您当然需要添加一种机制来刷新规则。但至少 Digester 可能仍然会提供帮助。

关于java - 将业务规则存储在 XML 文档中,然后在 Java 中验证,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2801928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com