2015-11-08 4 views
-1

Итак, у меня есть форма в одном JSP и одна для передачи данных в другой JSP, чтобы проверить, пуста она или нет. Я могу сделать это?Значение передачи между JSP с использованием JSTL

First.jsp

<form id="search-form" name="search"> 
        <input type="text" name="txtSearch" id="search-field"> 
        <button type="submit" onclick="<c:set var="search" value="${param.txtSearch}" scope="request"/>"><a href="Second.jsp">SEARCH</a></button> 
       </form> 

Second.Jsp

<c:set var="search" value="${requestScope['search']}"/> 
<c:choose> 
     <c:when test="${empty search}"> 
      <h1>Empty</h1> 
     </c:when> 
     <c:otherwise> 
      <h1>${search}</h1> 
</c:otherwise> 
    </c:choose> 

ответ

2

Вы проверки параметров запроса в неправильном месте. Вы должны проверить его в запросе, связанном с целевым ресурсом. <c:set> внутри onclick не имеет никакого смысла. JSP создает HTML-код. onclick выполняет только JS-код. Rightclick page, do Просмотрите исходный код и посмотрите на атрибут onclick. Ты видишь? Пусто! Кроме того, HTML-ссылка, заключенная в HTML-кнопку, также бессмысленна. Вы в основном производят invalid HTML. В формах вы должны указать целевой ресурс в <form action>.

Вот простой пример стартового:

<form action="Second.jsp"> 
    <input type="text" name="txtSearch" /> 
    <input type="submit" value="Search" /> 
</form> 
<c:choose> 
    <c:when test="${empty param.txtSearch}"> 
     ... 
    </c:when> 
    <c:otherwise> 
     ... 
    </c:otherwise> 
</c:choose> 

Несмотря на это, я настоятельно рекомендую сделать шаг назад и пересмотреть, если вы действительно используете право обучения ресурсы, чтобы узнать HTTP, HTML и JSP. В вашей первой попытке произошли серьезные серьезные ошибки. Начните здесь: Java EE web development, where do I start and what skills do I need?

+0

Спасибо, оцените вашу помощь. Я просмотрю свои знания по HTTP, HTML и JSP. – user3676506

+0

У меня есть другой вопрос. В First.jsp, если у меня есть только , есть ли способ получить тот же результат, что и выше? – user3676506

+0

Этот раздел предназначен для комментариев, а не для новых вопросов. Для этого есть кнопка «Задать вопрос». Независимо от того, сначала изучите базовый HTML. – BalusC