当前位置 : 主页 > 网页制作 > xml >

使用xml中的规则验证java对象

来源:互联网 收集:自由互联 发布时间:2021-06-13
这是我的问题的一个例子: 1)我有一个XML文件,其中定义了我的发票的规则 rules.. price RequiredTrue/Required MinValue0.1/MinValue price../rules 2)我在java中有一个Invoice对象(重要的是:这应该保持不变
这是我的问题的一个例子:

1)我有一个XML文件,其中定义了我的发票的规则

<rules>
..
  <price>
   <Required>True</Required>
   <MinValue>0.1</MinValue>
  <price>
..
</rules>

2)我在java中有一个Invoice对象(重要的是:这应该保持不变(普通).不应该包含任何注释或任何内容.)

public class Invoice implements Serializable {

    private String details;
    private String tax;
    private String recipient;
    private double price;

    //getter and setter

}

3)至少我有一个Validator对象

public class Validator(){

    public boolean validate(String xmlfile, Invoice i) {
           //todo: Invoice i should be validated with xmlfile
    }
}

我需要的:
Validator应该使用内部规则的XML文件
例如

<price>
   <Required>True</Required>
   <MinValue>0.1</MinValue>
  <price>

并使用该规则验证Invoice java对象.

我可以使用任何好的框架吗?还是教程?途径?
任何帮助都非常感谢.

谢谢.

您可以使用 Hibernate Validator这是JSR 303的实现.您可以在XML中编写约束,如下所示

<field name="x2"  ignore-annotations="true"    >  <!-- XML is stronger -->
        <constraint annotation="javax.validation.constraints.Min">
             <element name="value">2</element>
        </constraint>
    </field>

一个完整而精彩的教程可以在here找到

网友评论