if if语句在jsp中

时间:2013-04-17 20:41:58

标签: java jsp if-statement

我有一个以下问题 - 如果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";
};
%>

2 个答案:

答案 0 :(得分:4)

更改if条件:

if (place == "1") {

}

通过

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

}

和其他条件相同的方式。

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

答案 1 :(得分:2)

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

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

.equals()测试两个对象是否相等。