Я использую следующий код, чтобы напечатать имя пользователя в браузере:Используя если-то еще в JSP
<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>
Каждый раз, когда я исполню ее , сообщение
Я вижу! У вас нет имени .. хорошо .. Привет не имя
отображается, хотя я ничего не ввел в текстовое поле. Однако, если я ввожу что-либо в него, тогда отображается код response.jsp, но я не хочу, чтобы первое сообщение отображалось при выполнении. Как это сделать? Пожалуйста, предложите изменения в моем коде.
P.S. Я прочитал несколько вопросов, вместо того, чтобы проверять равенство с нулевым значением, нужно проверить его не равным, чтобы он не выбрал исключение исключающего указателя. когда я попробовал то же самое, то есть if(user != null && ..)
, я получил NullPointerException
.
Это работает, спасибо большое:) Но не могли бы вы рассказать мне решение, используя скрипты? – Awani
@ user2195963 Самое простое решение не отображать текст делает его условным, если «пользователь» пуст или пуст. То, что вы просите, - это способ сделать страницу достаточно умной, чтобы знать, что «пользователь» имеет значение null, поскольку это первый раз, когда вы посещаете страницу. Пожалуйста, ознакомьтесь с моими изменениями, касающимися этой проблемы. – sfedak