перемещать данные jsp с класса java

Как я могу перемещать данные об одной консультации в jsp? Я объясняюсь:

У меня есть страница jsp, от которой я получаю параметры, я перемещаю их servlet, этот в свою очередь выполняет класс консультирует, что он идет к bd, но я не знаю, как перемещать результат этой консультации тот же jsp.

1
задан 01.08.2016, 17:45
3 ответа

Если ты хочешь послать данные с Servlet к виду, ты можешь использовать forward с servlet к твоему JSP и добавлять весь она informaciГіn, который ты нуждался в том, чтобы показать как признаки request, потом в JSP ты можешь соглашаться на эти признаки без проблем.

AquГ - пример:

@WebServlet("busqueda.jsp")
public class BusquedaServlet extends HttpServlet {

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

        //realizas la búsqueda aquí...
        List<Resultado> resultados = ... //lista con los resultados de la búsqueda
        //colocamos los resultados de la búsqueda como atributo del request
        request.setAttribute("resultados", resultados);
        //realizamos un forward a la página JSP donde mostraremos los resultados
        request.getRequestDispatcher("busqueda.jsp").forward(request, response);
    }
}

JSP, файл busqueda.jsp (я использую JSTL, рекомендуемого, чтобы избежать использовать scriptlets в тебе cГіdigo JSP):

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Resultado de búsqueda</title>
    </head>
    <body>
        <table>
            <tr>
                <th>Id</th>
                <th>Descripción</th>
            </tr>
        <c:forEach items="${resultados}" var="resultado">
            <tr>
                <td>${resultado.id}</td>
                <td>${resultado.descripcion}</td>
            </tr>
        </c:forEach>
        </table>
    </body>
</html>

принимает, что у класса Resultado есть следующая структура:

public class Resultado {
    private int id;
    private String descripcion;

    //getters y setters para los campos de arriba
}
2
ответ дан 24.11.2019, 13:44

Если у тебя нет, что submitar формуляр все еще (вещь, что ты можешь делать с кнопкой submit + request POST), ты можешь делать вызов ajax, что общался с твоим сервером без необходимости перезагружать всю страницу.

$.get( "/ruta/metodoMapeado", function() {
  alert( "llamando al host" );
}).done(function(data) {
    alert("la respuesta es: " + data);
}).fail(function(error) {
    alert("hemos tenido el error" + error);
});
0
ответ дан 24.11.2019, 13:44

AГ±ade объект map в ответ с объектом, оказанным, что ты хочешь консультироваться в jsp

Map<String, Object> model = new HashMap<String, Object>();
model.put("objeto", ObjetoQueQuieresConsultarEnJSP);
return new ModelAndView(home, "model", model);

, Потом консультируется в jsp следующей формы:

<% Map model = (Map) request.getAttribute("model"); %>

<% Object objecto = model.ObjetoQueQuieresConsultarEnJSP %>

В переменной возразил уже у тебя есть ObjetoQueQuieresConsultarEnJSP и ты можешь работать с обычно

0
ответ дан 24.11.2019, 13:44
  • 1
    Это функционирует только с framework как Спринг. Вопрос - на servlets netamente. –  01.08.2016, 17:44

Теги

Похожие вопросы