Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jsp中的If-else语句_Java_Jsp_If Statement - Fatal编程技术网

Java jsp中的If-else语句

Java jsp中的If-else语句,java,jsp,if-statement,Java,Jsp,If Statement,我有一个问题——if-else语句在JSP中不起作用,老实说,我不知道为什么。基本上,我会根据名为place的字符串中存储的数字来更改地名。在浏览器中打印值后,我可以看到值没有更改。我相信这很简单,但是。。。也许有人以前也有过类似的问题 <% //requests the strings sent by previous page String year = request.getParameter("year"); String place = request.getParameter(

我有一个问题——if-else语句在JSP中不起作用,老实说,我不知道为什么。基本上,我会根据名为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";
};
%>

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

==操作符测试两个对象引用是否引用了一个对象的完全相同的实例


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

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

==操作符测试两个对象引用是否引用了一个对象的完全相同的实例


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

更改if条件:

if (place == "1") {

}

对于其他if条件也是如此


这可能有助于您了解
==
equals()之间的区别

更改if条件:

if (place == "1") {

}

对于其他if条件也是如此


这可能有助于您了解
==
equals()

之间的区别。您应该使用
.equals()
来比较回答者的字符串可能重复的字符串。也许你想解释一下,但是关于<代码> = = 和 .Error()的区别,记住java中的所有东西都是指针,所以当你使用C++中找到的==操作符时,你就比较了地址。不是存储的值。非常感谢-它起作用了,我以前确实用过这个方法。。。我之所以没有想到这一点,是因为Java脚本中使用了非常相似的代码,而且它很有效,所以我认为在比较字符串时,您应该使用
.equals()
,因为对于回答的人来说,字符串可能是重复的。也许你想解释一下,但是关于<代码> = = 和 .Error()的区别,记住java中的所有东西都是指针,所以当你使用C++中找到的==操作符时,你就比较了地址。不是存储的值。非常感谢-它起作用了,我以前确实用过这个方法。。。我没有考虑它的原因是Java脚本中使用了非常相似的代码,而且它很有效,所以我认为它是另外一种东西如果
place
null
,这会抛出
NullPointerException
。如果
place
在其原始代码中是null,它也抛出了一个
NullPointerException
。非常感谢-它起作用了,我以前确实用过这个方法。。。我没有考虑它的原因是Java脚本中使用了非常相似的代码,而且它很有效,所以我认为它是另外一种东西如果
place
null
,这会抛出
NullPointerException
。如果
place
在其原始代码中是null,它也抛出了一个
NullPointerException
。非常感谢-它起作用了,我以前确实用过这个方法。。。我之所以没有考虑它,是因为Java脚本中使用了非常相似的代码——而且它很有效,所以我认为这是另外一种东西——谢谢——它很有效,我以前确实使用过这种方法。。。我之所以没有考虑它,是因为Java脚本中使用了非常相似的代码——而且它很有效,所以我认为这是另外一种东西——谢谢——它很有效,我以前确实使用过这种方法。。。我之所以没有想到这一点,是因为Java脚本中使用了非常类似的代码——而且它很有效,所以我认为这是另一回事