在春季3:
我的豆子:
public class UserFormBean {
private String userEmail;
private String userMobNo;
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
public String getUserMobNo() {
return userMobNo;
}
public void setUserMobNo(String userMobNo) {
this.userMobNo = userMobNo;
}
}
我在Controller中的请求处理程序:
@RequestMapping(value = "/userData", method = RequestMethod.GET)
String userData(UserFormBean bean){
//code to handle incoming data
}
如果用户在请求时没有在'userEmail'
和'userMobNo'
属性中设置任何值,则默认情况下spring会在这些属性中设置null
,并且当我获得这些属性的值时String str = bean.getUserEmail();
我的请求处理程序返回null in double quote
"null"
。
当它们包含null
时,有没有办法将这些"" (blank)
值转换为null
,因为我创建了一个额外的处理程序来处理这些"null"
值。或者更好的想法来解决这个问题。
由于
答案 0 :(得分:2)
我认为最简单的方法是将属性初始化为空字符串:
private String userEmail = "";
private String userMobNo = "";
答案 1 :(得分:1)
我怀疑使用“\”null \“”为新值调用setter。试试这个:
public void setUserEmail(final String newValue)
{
if (StringUtils.isNotBlank(newValue) &&
"\"null\"".equals(newValue))
{
userEmail = newValue;
}
else
{
userEmail = StringUtils.EMPTY;
}
}
答案 2 :(得分:1)
您可以定义命名“网络方法”的标准,例如:
@RequestMapping(value = "/userData", method = RequestMethod.GET)
String webUserData(UserFormBean bean){
//code
}
如果您的所有方法都以 web * 开头,那么您可以编写一个方面,根据您的意愿将所有参数初始化。
如果您需要有关创建和定义方面的帮助,请询问。
更新:创建和定义方面
我不会为你编写代码,因为通过阅读文档来学习它会更好 - 你将会了解更多额外的细节。
也就是说,创建方面的步骤是:
在您的方面代码中,您必须访问current method arguments并执行逻辑以设置字符串的空字符串值。