I'm using the following code to print the name of the user on the browser:
<body>
<form>
<h1>Hello! I'm duke! What's you name?</h1>
<input type="text" name="user"><br><br>
<input type="submit" value="submit">
<input type="reset">
</form>
<%String user=request.getParameter("user"); %>
<%if(user == null || user.length() == 0){
out.print("I see! You don't have a name.. well.. Hello no name");
}
else {%>
<%@ include file="response.jsp" %>
<% } %>
</body>
response.jsp:
<body>
<h1>Hello</h1>
<%= request.getParameter("user") %>
body>
Every time I execute it, the message
I see! You don't have a name.. well.. Hello no name
gets displayed even though I haven't entered anything in the textbox. However if I enter anything in it, then the response.jsp code is displayed, but I don't want the first message to be displayed on execution. How do I make that happen? Please suggest changes in my code.
P.S. I had read in some questions that instead of checking for equality with null, one must check it for not equals, so that it doesn't throw null pointer exception. when I tried the same, i.e. if(user != null && ..)
, I got NullPointerException
.
You may try this example: