我正在编写一个基于 SOAP 的客户端,它将更新数据库中的字段。java wsimport 实用程序创建的类之一包含一个表的表示,该表中的每个字段都作为受保护的实例变量。前任:
public class CustomObject1Data {
@XmlElement(name = "ModifiedDate")
@XmlSchemaType(name = "dateTime")
protected XMLGregorianCalendar modifiedDate;
@XmlElement(name = "CreatedDate")
@XmlSchemaType(name = "dateTime")
protected XMLGregorianCalendar createdDate;
@XmlElement(name = "ModifiedById")
protected String modifiedById;
@XmlElement(name = "CreatedById")
protected String createdById;
@XmlElement(name = "ModId")
protected Integer modId;
@XmlElement(name = "Id")
protected String id;
@XmlElement(name = "CustomInteger5")
protected Integer customInteger5;
@XmlElement(name = "CustomInteger6")
protected Integer customInteger6;
.... 100+ more
用户界面将具有这些字段的友好名称。他们熟悉的名称,因为它们是数据库中该记录的字段名称。在幕后,UI 会将 UI 字段名称映射到 XML 名称。如果 UI 要向我发送这样的查询字符串,"CustomInteger5=some new value"
我该如何设置这个类成员?
@XmlElement(name = "CustomInteger5")
protected Integer customInteger5;
我知道我可以有一堆 if 语句,例如:
if(requestStr.fieldName.equals("CustomInteger5"){
setCustomInteger5(rquestStr.value);
}
...
不过,这将是很多工作!如果我将 xml 名称作为字符串提供,是否可以动态设置这些类成员?
谢谢你。