Когда страница сначала загружается, имейте Поиск, появляются в текстовом поле, окрашенном в серый, если Вы хотите, чтобы он был.
, Когда поле ввода получает фокус, выберите весь текст в поле поиска так, чтобы пользователь мог только начать вводить, который удалит выделенный текст в процессе. Это будет также работать приятно, если пользователь захочет использовать поле поиска во второй раз, так как они не должны будут вручную выделять предыдущий текст для удаления его.
<input type="text" value="Search" onfocus="this.select();" />
JSTL не предназначен для такого рода вещей. Это действительно относится к бизнес-логике, которая (не) напрямую контролируется классом сервлета.
Создайте сервлет, который делает следующее:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
List<String> animals = new ArrayList<String>();
animals.add("Sylvester");
animals.add("Goofy");
animals.add("Mickey");
request.setAttribute("animals", animals);
request.getRequestDispatcher("/WEB-INF/animals.jsp").forward(request, response);
}
Сопоставьте это с шаблоном URL
из / animals
.
Теперь создайте файл JSP в / WEB -INF / animals.jsp
(поместите его в WEB-INF
, чтобы предотвратить прямой доступ):
<c:forEach items="${animals}" var="animal">
${animal}<br>
</c:forEach>
Нет необходимости в jsp: useBean
, поскольку сервлет уже установил его.
Теперь вызовите сервлет + JSP с помощью http://example.com/context/animals
.
Приведенный выше код не работает.
Ниже приведены строки кода, которые необходимо поместить в файл animals.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<c:forEach var="animal" items="${animals}">
<c:set var="animalName" value="${animal}"/>
<c:out value="${animalName}"/>
</c:forEach>