1

次の問題があります。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 の質問は、 と の違いを学ぶのに役立つ場合が==ありequals()ます。

于 2013-04-17T20:44:42.697 に答える
2

== を使用して文字列を比較しているためです。代わりに、.equals()メソッドを使用してください。

== 演算子は、2 つのオブジェクト参照がオブジェクトのまったく同じインスタンスを参照しているかどうかをテストします。

.equals() は、比較される 2 つのオブジェクトが等しいかどうかをテストします。

于 2013-04-17T20:43:55.727 に答える