我有一个以下问题 - 如果else语句在JSP中不起作用,说实话我不知道为什么。基本上我尝试根据名为place的字符串中存储的数字来更改placeName
。在浏览器中打印值后,我可以看到值没有改变。我确信它很简单但是......也许有人之前有类似的问题?
<%
//requests the strings sent by previous page
String year = request.getParameter("year");
String place = request.getParameter("place");
out.print(year);
out.print(place);
String year2 = request.getParameter("year2");
String place2 = request.getParameter("place2");
//out.print(year2);
//out.print(place2);
if (place == "1")
{
placeName = "Belmullet";
}
else if (place == "2")
{
placeName = "Birr";
}
...more statements here...
else if (place == "15")
{
placeName = "Shannon airport";
};
%>
答案 0 :(得分:4)
更改if条件:
if (place == "1") {
}
通过
if ("1".equals(place)) {
}
和其他条件相同的方式。
此SO question可以帮助您了解==
和equals()
之间的区别。
答案 1 :(得分:2)
这是因为您使用==比较字符串。相反,请使用.equals()
方法。
==运算符测试两个对象引用是否引用对象的完全相同的实例。
.equals()测试两个对象是否相等。