tags:

views:

14

answers:

1

I want to dispaly a result parameter which return from servlet to jsp after an event happen. so when i add new user for example a result parameter returns with value that the user has been added successfully , and i want to display the result in jsp page. i make like this in jsp page

<%String result = String.valueOf(request.getAttribute("result"));%>
 <%if (result != null){%>
 <%= result%>
<%}%>

THE PROBLEM is that every time i open the page for the first time result prints as null to the browser even i write if not null print result value, where is the problem ? can someone help/

+2  A: 

String.valueOf(..) returns "null" (a String with length 4) if the argument is null. So your quick solution would be not to use String.valueOf(..) at all.

However, it is not advisable to use scriptlets and java code like that in your JSPs. Use JSTL and EL instead. Your code would look like this:

<c:if test="${result != null}">
    ${result}
</c:if>
Bozho
Just so it's clear, it returns the word "null" as a string.
Drackir
it doesn't work even i make if(result.equals("null")){print result}
Alaa
I advised for getting rid of the `String.valueOf(..)` completely. There is no point in comparing a string to the "null" string
Bozho
many thanx , but why scriptlets are not advisable in jsp pages?
Alaa
@Alaa - see this question http://stackoverflow.com/questions/2188706/how-to-avoid-using-scriptlets-in-my-jsp-page and BalusC's answer
Bozho
Actually, it's this one :) http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files The OP was however told/linked that several times before in his previous questions.
BalusC
@BalusC, ah, yes. :) I wondered where did all those upvotes go. Anyway, there are too many of these.
Bozho