0

Hi,

I need your help... I need to get the value selected by a user from the HTML page and pass this value into my servlet program for processing. So I did something like this:

Part of my jsp code:

<select name="tool" id="tool">
    <option value=kim>KIM</option>
    <option value=ontomat>Ontomat Annotizer</option>
    <option value=gate>GATE</option>
</select>

And:

Part of my java class protected void doGet(...) metod:

String s=request.getParameter("tool");
	out.println(s);
	if (s.toLowerCase()=="kim") 
	out.println(s);
        else 	out.println("error");

When I select "kim", I want it to print
kim
kim

My problem is that what ever I select it prints out
[what ever I selected]
error

The line

out.println(s);

prints what I selected but "if" part does not work the way I would like it to...

I am new at all this and could really use some help...

Thanks,
Jelena

2
Contributors
3
Replies
5
Views
6 Years
Discussion Span
Last Post by rakhi4110
0

Hi varia,
Well the problem is not in the SELECT tag.
Try using this code in your JSP file

String check="kim";
        String s=request.getParameter("tool");
	out.println(s);
	if (s.toLowerCase().equals(check)) 
	out.println(s);
        else 	
	out.println("error");

This is because there is difference between == operator and the equals() method.
== operator is used to compare the references of the objects.

public boolean equals(Object o) is the method provided by the Object class. The default implementation uses ==
operator to compare two objects.

But since the method can be overriden like for String class. equals() method can be used to compare the values of two
objects.

String str1 = new String("MyName");
String str2 = new String("MyName");

if(str1 == str2){
out.println("Objects are equal")
}else{
out.println("Objects are not equal")
}

if(str1.equals(str2)){
out.println("Objects are equal")
}else{
out.println("Objects are not equal")
}

Output:
Objects are not equal
Objects are equal

Another snippet:

String str2 = "MyName";
String str3 = str2;

if(str2 == str3){
out.println("Objects are equal")
}else{
out.println("Objects are not equal")
}

if(str3.equals(str2)){
out.println("Objects are equal")
}else{
out.println("Objects are not equal")
}

Output:
Objects are equal
Objects are equal.

Check out this and reply whether your prob is solved or is there something else which i can do for you.
Thanks and Regards,
RAKHI

Edited by rakhi4110: Used java syntax in jsp. inorder to change it i edited the post.

0

rakhi,

Thanks a million... The problem is solved... It works great now...

Thank you,
Jelena

0

Jelena,
You are welcome.. anytime to help you..
Since your problem is solved you can mark the status of this post as solved.

Thanks and regards,
RAKHI

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.