У меня есть код в сценарии. Как можно переписать его с помощью JSTL?Принимающий объект в JSTL
<%
int Queryid = new Integer(request.getParameter(" QueryNo"));
Queries query = QueriesUtil.findByQid(Queryid);
%>
У меня есть код в сценарии. Как можно переписать его с помощью JSTL?Принимающий объект в JSTL
<%
int Queryid = new Integer(request.getParameter(" QueryNo"));
Queries query = QueriesUtil.findByQid(Queryid);
%>
Ваш запрос здесь должен первым ударить сервлета, который запускает QueriesUtil
(Бизнес/классы DAO в целом), чтобы получить Query
объект, как и прежде
Queries query = QueriesUtil.findByQid(Qid);
Затем сервлет должен сделать это доступный в правильном объеме (скажем, запрос для eaxmple)
request.setAttribute("query", Query);
до переадресация он предназначен для JSP с использованием RequestDispatcher
.
RequestDispatcher view = request.getRequestDispatcher("target.jsp");
view.forward(request, response);
Теперь, предполагая, что Query
имеет value
свойство может извлекаться в target.jsp
как
<c:out value="${query.value}" />
Спасибо за этот ответ. Но, что, если я перехожу от одной страницы jsp к другому, сервлеты не выполняются между ними. Рассмотрим, имея гиперссылку с одним параметром QueryNo Open. Что мне делать на странице viewQueries.jsp для того же кода выше? Мне нужно получить значение параметра (QueryNo) из URL-адреса, а затем создать объект Queries, соответствующий этому QueryNo. – Aneesh
Просто замените 'href =" viewQueries.jsp? QueryNo = 4 "' на 'href =" viewQueries? QueryNo = 4 "', в результате чего 'viewQueries' определяется как' @WebServlet ("/ viewQueries") 'и помещает эту Java код в методе doGet() 'сервлета. Это все. Вы когда-нибудь пытались приложить небольшое усилие, чтобы щелкнуть и прочитать ссылки в моем комментарии? Там все ясно объяснено. – BalusC
@ Анеш, все это подпадает под хорошие практики и способствует чистому разделению, которое защищает MVC. Зачем беспокоиться о том, чтобы половина вашей страницы использовала JSTL, когда другая половина все равно нарушала стандарты? У вас могут быть другие причины для этого, но вы или любой, кто просил вас делать это, не хватает большой картины, как описано BalusC [здесь] (http://stackoverflow.com/a/3180202/1237040). –
JSTL не является правильным решением либо. Вы не выполняете управление потоком вывода HTML. Пришло время изучить сервлеты, чтобы предварительно обработать запрос на страницу JSP. См. Также http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files/3180202#3180202 и http://stackoverflow.com/tags/servlets/info – BalusC
+1 к BalusC. Боковое примечание: вызов toString() в String бесполезен. И вы должны соблюдать соглашения об именах Java. –
Вы хотите установить объект Queries в атрибут объекта запроса в классе сервлетов и принять с jsp-страницы с помощью EL? – Aneesh