1

我有以下问题 - if else 语句在 JSP 中不起作用,老实说我不知道​​为什么。基本上,我尝试placeName根据存储在名为 place 的字符串中的数字来更改。在浏览器中打印值后,我可以看到值没有改变。我敢肯定这很简单,但是……也许有人以前遇到过类似的问题?

<%
//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";
};
%>
4

2 回答 2

4

更改 if 条件:

if (place == "1") {

}

经过

if ("1".equals(place)) {

}

和其他 if 条件相同的方式。

这个SO question==可以帮助您了解和之间的区别equals()

于 2013-04-17T20:44:42.697 回答
2

这是因为您使用 == 比较字符串。相反,请使用该.equals()方法。

== 运算符测试两个对象引用是否引用了完全相同的对象实例。

.equals() 测试查看相互比较的两个对象是否相等。

于 2013-04-17T20:43:55.727 回答