Servlets 检查request.getParameter是否包含字符串值或整数
我正在尝试使用两个不同的值进行搜索,一个是整数(sin),另一个是lastName(String) 我已经能够保存这两个,但如何检查它是否是字符串 这是我的密码:Servlets 检查request.getParameter是否包含字符串值或整数,servlets,Servlets,我正在尝试使用两个不同的值进行搜索,一个是整数(sin),另一个是lastName(String) 我已经能够保存这两个,但如何检查它是否是字符串 这是我的密码: if (request.getParameter("search") != null) { String search = request.getParameter("search"); int searchSin = Integer.getInteger(request
if (request.getParameter("search") != null) {
String search = request.getParameter("search");
int searchSin = Integer.getInteger(request.getParameter("search"));
//If it is a string
request.setAttribute("employees", employeeService.getEmployeesLastName(search));
//else if it is an integer
request.setAttribute("employees", employeeService.getEmployeesSIN(search));
}
您可以使用intanceof了解这一点 例如:
if(字符串的myObject实例){
//你的代码在这里
}
尝试以下代码
if (request.getParameter("search") != null) {
String search = request.getParameter("search");
//it is an integer
if(isInteger(search)){
int searchSin = Integer.getInteger(search);
request.setAttribute("employees", employeeService.getEmployeesSIN(searchSin));
}
//else if it is a string
else{
request.setAttribute("employees", employeeService.getEmployeesLastName(search));
}
}
// check if one string is a integer
private boolean isInteger(String s) {
try {
Integer.parseInt(s);
} catch(NumberFormatException e) {
return false;
} catch(NullPointerException e) {
return false;
}
// only got here if we didn't return false
return true;
}
您尝试将
search
解析为整数值,如果它抛出NumberFormatException
,则它不是整数:)这里使用不同的方法检查输入字符串是否为数字,这里的问题是检查输入字符串是否为数字:)