我想检查一个
这里介绍了该值:
现在我想检查是否已经引入了数据。
Integer
值是否为空。
这个 Integer
的值是通过表单填写的。以下是我的代码。这里介绍了该值:
<input name="varsta" placeHolder="Varsta:" type="text" data-constraints='@NotEmpty @Required @AlphaSpecial'> <br/><br/>
现在我想检查是否已经引入了数据。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
Integer varsta = Integer.parseInt(request.getParameter("varsta"));
request.getSession().setAttribute("varsta", varsta);
try {
DBConnection connection = new DBConnection();
Connection con = connection.Connect();
PreparedStatement ps = con.prepareStatement(
"insert into user(Nume,Prenume,E_mail,Parola,Varsta,Sex,Greutate,Inaltime,Nivel_activitate,Calcul_calorii)" +
"values ('"+nume+"','"+prenume+"','"+email1+"','"+parola+"','"+varsta+"','"+sex+"','"+greutate+"','"+inaltime+"','"+activitate+"','"+calorii+"')"
);
if (varsta == null && "".equals(varsta)) {
String message = "Va rugam completati cu atentie TOATE campurile!";
request.setAttribute("message", message);
request.getRequestDispatcher("/inregistrare.jsp").forward(request, response);
} else {
int i = ps.executeUpdate();
if (i > 0) {
request.getRequestDispatcher("/preferinte.jsp").forward(request, response);
}
}
ps.close();
con.close();
} catch(Exception se) {
se.printStackTrace();
}
}
无法工作。
有人可以帮助我吗?
System.out.println(request.getParameter("varsta"))
会输出什么?其中一些错误包括:你将变量定义为varsta
,但是你却检查了Varsta
,这只是第一个问题。由于varsta
是一个整数,你不能将其与 ""(空)进行比较,因为它是一个整数。 - Jorge Camposvarsta
而不是Varsta
的引用?如果是的话,这个条件语句永远不会返回true
,因为你在比较不同类型的对象:Integer
和String
。 - Vladimir Vagaytsevrequest
? - Seelenvirtuose