判断从Web Form接收到的数据是否被修改
2012-06-01 13:58
169 查看
/**
* 返回8位固定长度(左补0)的HEX编码主键,作为注册机构联系人主键
*
* @return 8位固定长度的HEX编码主键
*/
@Transient
public String getIdString() {
String s = getExternalId();
if (s == null) {
return StringUtils.leftPad(Integer.toHexString(id), 8, '0');
} else {
return s;
}
}
/**
* 判断此对象与目标对象是否除主键和密码外的全部字段均相同。<br/>
* 通常用于判断从Web Form接收到的数据是否被修改。
*
* @param c 目标对象
* @return 如果全部相同返回<code>true</code>,否则返回<code>false</code>
*/
@Transient
public boolean isFieldsEqual(DomainContact c) {
return StringUtils.equals(getCnName(), c.getCnName()) &&
StringUtils.equals(getCnOrganization(), c.getCnOrganization()) &&
StringUtils.equals(getCnAddress(), c.getCnAddress()) &&
StringUtils.equals(getCnCity(), c.getCnCity()) &&
StringUtils.equals(getCnProvince(), c.getCnProvince()) &&
StringUtils.equals(getName(), c.getName()) &&
StringUtils.equals(getOrganization(), c.getOrganization()) &&
StringUtils.equals(getAddress(), c.getAddress()) &&
StringUtils.equals(getCity(), c.getCity()) &&
StringUtils.equals(getProvince(), c.getProvince()) &&
StringUtils.equals(getCountryCode(), c.getCountryCode()) &&
StringUtils.equals(getPostal(), c.getPostal()) &&
StringUtils.equals(getPhone(), c.getPhone()) &&
StringUtils.equals(getFax(), c.getFax()) &&
StringUtils.equals(getEmail(), c.getEmail()) &&
StringUtils.equals(getIdentityCard(), c.getIdentityCard())&&
StringUtils.equals(getIdentityCardType(), c.getIdentityCardType())&&
StringUtils.equals(getIdentityCardPath(), c.getIdentityCardPath())&&
StringUtils.equals(getIdentityCardPath1(), c.getIdentityCardPath1())&&
StringUtils.equals(getOrganizationCode(), c.getOrganizationCode())&&
StringUtils.equals(getOrganizationCodeType(), c.getOrganizationCodeType())&&
StringUtils.equals(getOrganizationCodePath(), c.getOrganizationCodePath())&&
getStatus() == c.getStatus();
}
/**
* 判断此对象与目标对象是否除主键、单位名称和密码外的全部字段均相同。<br/>
* 通常用于判断从Web Form接收到的数据是否被修改。
*
* @param c 目标对象
* @return 如果全部相同返回<code>true</code>,否则返回<code>false</code>
*/
@Transient
public boolean isFieldsEqualExceptOrganization(DomainContact c) {
return StringUtils.equals(getCnName(), c.getCnName()) &&
StringUtils.equals(getCnAddress(), c.getCnAddress()) &&
StringUtils.equals(getCnCity(), c.getCnCity()) &&
StringUtils.equals(getCnProvince(), c.getCnProvince()) &&
StringUtils.equals(getName(), c.getName()) &&
StringUtils.equals(getAddress(), c.getAddress()) &&
StringUtils.equals(getCity(), c.getCity()) &&
StringUtils.equals(getProvince(), c.getProvince()) &&
StringUtils.equals(getCountryCode(), c.getCountryCode()) &&
StringUtils.equals(getPostal(), c.getPostal()) &&
StringUtils.equals(getPhone(), c.getPhone()) &&
StringUtils.equals(getFax(), c.getFax()) &&
StringUtils.equals(getEmail(), c.getEmail()) &&
getStatus() == c.getStatus();
}
/**
* 复制一个联系人对象除主键外的所有字段到另一个对象。<br/>
* <strong>注意:不更新密码和状态字段</strong><br/>
* 通常用于将从Web Form接收到的数据复制到ORM对象实例,但不替换主键以防止客户端利用篡改主键
* 修改他人的联系人资料的漏洞。
*
* @param from 源对象
* @param to 目标对象
*/
public static void copyFields(DomainContact from, DomainContact to) {
to.setCnName(from.getCnName());
to.setCnOrganization(StringUtils.defaultIfEmpty(from.getCnOrganization(), null));
to.setCnAddress(from.getCnAddress());
to.setCnCity(from.getCnCity());
to.setCnProvince(StringUtils.defaultIfEmpty(from.getCnProvince(), null));
to.setName(from.getName());
to.setOrganization(StringUtils.defaultIfEmpty(from.getOrganization(), null));
to.setAddress(from.getAddress());
to.setCity(from.getCity());
to.setProvince(StringUtils.defaultIfEmpty(from.getProvince(), null));
to.setCountryCode(from.getCountryCode());
to.setPostal(StringUtils.defaultIfEmpty(from.getPostal(), null));
to.setPhone(StringUtils.defaultIfEmpty(from.getPhone(), null));
to.setFax(StringUtils.defaultIfEmpty(from.getFax(), null));
to.setEmail(from.getEmail());
//新增加
to.setOrganizationCode(from.getOrganizationCode());
to.setOrganizationCodePath(from.getOrganizationCodePath());
to.setIdentityCard(from.getIdentityCard());
to.setIdentityCardPath(from.getIdentityCardPath());
to.setIdentityCardType(from.getIdentityCardType());
to.setOrganizationCodeType(from.getOrganizationCodeType());
to.setIdentityCardPath1(from.getIdentityCardPath1());
}
public DomainContact clone() throws CloneNotSupportedException {
return (DomainContact) super.clone();
}
* 返回8位固定长度(左补0)的HEX编码主键,作为注册机构联系人主键
*
* @return 8位固定长度的HEX编码主键
*/
@Transient
public String getIdString() {
String s = getExternalId();
if (s == null) {
return StringUtils.leftPad(Integer.toHexString(id), 8, '0');
} else {
return s;
}
}
/**
* 判断此对象与目标对象是否除主键和密码外的全部字段均相同。<br/>
* 通常用于判断从Web Form接收到的数据是否被修改。
*
* @param c 目标对象
* @return 如果全部相同返回<code>true</code>,否则返回<code>false</code>
*/
@Transient
public boolean isFieldsEqual(DomainContact c) {
return StringUtils.equals(getCnName(), c.getCnName()) &&
StringUtils.equals(getCnOrganization(), c.getCnOrganization()) &&
StringUtils.equals(getCnAddress(), c.getCnAddress()) &&
StringUtils.equals(getCnCity(), c.getCnCity()) &&
StringUtils.equals(getCnProvince(), c.getCnProvince()) &&
StringUtils.equals(getName(), c.getName()) &&
StringUtils.equals(getOrganization(), c.getOrganization()) &&
StringUtils.equals(getAddress(), c.getAddress()) &&
StringUtils.equals(getCity(), c.getCity()) &&
StringUtils.equals(getProvince(), c.getProvince()) &&
StringUtils.equals(getCountryCode(), c.getCountryCode()) &&
StringUtils.equals(getPostal(), c.getPostal()) &&
StringUtils.equals(getPhone(), c.getPhone()) &&
StringUtils.equals(getFax(), c.getFax()) &&
StringUtils.equals(getEmail(), c.getEmail()) &&
StringUtils.equals(getIdentityCard(), c.getIdentityCard())&&
StringUtils.equals(getIdentityCardType(), c.getIdentityCardType())&&
StringUtils.equals(getIdentityCardPath(), c.getIdentityCardPath())&&
StringUtils.equals(getIdentityCardPath1(), c.getIdentityCardPath1())&&
StringUtils.equals(getOrganizationCode(), c.getOrganizationCode())&&
StringUtils.equals(getOrganizationCodeType(), c.getOrganizationCodeType())&&
StringUtils.equals(getOrganizationCodePath(), c.getOrganizationCodePath())&&
getStatus() == c.getStatus();
}
/**
* 判断此对象与目标对象是否除主键、单位名称和密码外的全部字段均相同。<br/>
* 通常用于判断从Web Form接收到的数据是否被修改。
*
* @param c 目标对象
* @return 如果全部相同返回<code>true</code>,否则返回<code>false</code>
*/
@Transient
public boolean isFieldsEqualExceptOrganization(DomainContact c) {
return StringUtils.equals(getCnName(), c.getCnName()) &&
StringUtils.equals(getCnAddress(), c.getCnAddress()) &&
StringUtils.equals(getCnCity(), c.getCnCity()) &&
StringUtils.equals(getCnProvince(), c.getCnProvince()) &&
StringUtils.equals(getName(), c.getName()) &&
StringUtils.equals(getAddress(), c.getAddress()) &&
StringUtils.equals(getCity(), c.getCity()) &&
StringUtils.equals(getProvince(), c.getProvince()) &&
StringUtils.equals(getCountryCode(), c.getCountryCode()) &&
StringUtils.equals(getPostal(), c.getPostal()) &&
StringUtils.equals(getPhone(), c.getPhone()) &&
StringUtils.equals(getFax(), c.getFax()) &&
StringUtils.equals(getEmail(), c.getEmail()) &&
getStatus() == c.getStatus();
}
/**
* 复制一个联系人对象除主键外的所有字段到另一个对象。<br/>
* <strong>注意:不更新密码和状态字段</strong><br/>
* 通常用于将从Web Form接收到的数据复制到ORM对象实例,但不替换主键以防止客户端利用篡改主键
* 修改他人的联系人资料的漏洞。
*
* @param from 源对象
* @param to 目标对象
*/
public static void copyFields(DomainContact from, DomainContact to) {
to.setCnName(from.getCnName());
to.setCnOrganization(StringUtils.defaultIfEmpty(from.getCnOrganization(), null));
to.setCnAddress(from.getCnAddress());
to.setCnCity(from.getCnCity());
to.setCnProvince(StringUtils.defaultIfEmpty(from.getCnProvince(), null));
to.setName(from.getName());
to.setOrganization(StringUtils.defaultIfEmpty(from.getOrganization(), null));
to.setAddress(from.getAddress());
to.setCity(from.getCity());
to.setProvince(StringUtils.defaultIfEmpty(from.getProvince(), null));
to.setCountryCode(from.getCountryCode());
to.setPostal(StringUtils.defaultIfEmpty(from.getPostal(), null));
to.setPhone(StringUtils.defaultIfEmpty(from.getPhone(), null));
to.setFax(StringUtils.defaultIfEmpty(from.getFax(), null));
to.setEmail(from.getEmail());
//新增加
to.setOrganizationCode(from.getOrganizationCode());
to.setOrganizationCodePath(from.getOrganizationCodePath());
to.setIdentityCard(from.getIdentityCard());
to.setIdentityCardPath(from.getIdentityCardPath());
to.setIdentityCardType(from.getIdentityCardType());
to.setOrganizationCodeType(from.getOrganizationCodeType());
to.setIdentityCardPath1(from.getIdentityCardPath1());
}
public DomainContact clone() throws CloneNotSupportedException {
return (DomainContact) super.clone();
}
相关文章推荐
- 修改数据信息时,判断复选框的值是否被选中
- 百度api商圈范围图修改获取坐标数据、点是否在区域范围判断、js解析创建excel
- 判断scanf接收的数据是否为一组纯数字
- mysql 判断表数据是否存在,然后修改
- C# 中TCP连接通过数据接收来判断连接是否断开
- 判断接收的数据中是否有中文
- 某个数据通信系统采用CRC校验方式,并且生成多项式的二进制比特序列为11001,目的结点接收到的二进制比特序列为 110111001(含CRC校验码)。请判断传输过程中是否出现了差错?为什么?
- 大表格,多Form元素的提交 判断表单数据是否有被修改过
- ALV判断修改后是否有不合法数据,有则选中错误行,高亮度显示。
- EXT.NET保存前判断数据是否修改
- 判断XML文件是否存在,不存在就创建一个XMl文件,存在就在里面添加一条数据
- 各种判断输入数据是否合法的js
- 判断数据库中数据表是否存在
- js判断输入的数据是否为数字或正整数
- 文件创建、删除、重名名文件、判断文件的读写权限以及是否存在,设置和查询文件的最近修改时间
- 判断dataset是否被修改—DataSet.HasChanges 方法
- 当鼠标离开输入框判断数据是否存在
- 存储班长信息的学生类,将Stu类的数据成员的访问权限改为private,你的程序是否能完成要求的功能?如果不行,请修改程序。请不要修改给出的代码,只能修改自己写的代码。
- 判断json数据是否包含key
- thinkphp 更新数据时如果未修改数据,返回结果判断错误