在java serrvlet中找不到为什么循环不进入我的条件
我不明白为什么他不去第一个条件,如果我知道变量选择的值存在于我的数据库中,通过执行System.println。我只是不明白为什么他忽视了我的平等。如果有人能解释我做错了什么。谢谢。使用.equals进行字符串比较。试试看-在java serrvlet中找不到为什么循环不进入我的条件,java,jakarta-ee,servlets,web,Java,Jakarta Ee,Servlets,Web,我不明白为什么他不去第一个条件,如果我知道变量选择的值存在于我的数据库中,通过执行System.println。我只是不明白为什么他忽视了我的平等。如果有人能解释我做错了什么。谢谢。使用.equals进行字符串比较。试试看- @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
WorldDBManager DB = new WorldDBManager();
String choices = request.getParameter("selectchoice");
List<WorlPopulationInfo> country = new ArrayList<>();
country = DB.getResultAsArrayList("world", "select * from country");
StringBuffer strB = new StringBuffer();
for(int i=0;i<country.size();i++){
if(country.get(i).countryName == choices){
strB.append("<option selected='selected'>" + country.get(i).countryName+"</option>");
System.out.println(choices + " pareil " + country.get(i).countryName);
}else if(country.get(i).countryName != choices){
strB.append("<option>" + country.get(i).countryName+"</option>");
System.out.println(choices + " " + country.get(i).countryName);
}
}
request.setAttribute("country", strB);
getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
}
如果有,你不需要别的,只有别的就足够了
if(country.get(i).countryName.equals(choices)){
我认为在1.7中,你无法将字符串与==进行比较。你必须使用
if(country.get(i).countryName.equals(choices)){
strB.append("<option selected='selected'>" + country.get(i).countryName+"</option>");
System.out.println(choices + " pareil " + country.get(i).countryName);
}else{
strB.append("<option>" + country.get(i).countryName+"</option>");
System.out.println(choices + " " + country.get(i).countryName);
}
哦,该死的,我忘了那一个,哈哈,我觉得太愚蠢了。啊,我完全忘了那一个。我不知道我当时在想什么,然后像20-30分钟一样被困在那里
if(country.get(i).countryName.equals(choices)){}