如何将Object从servlet传递给调用JSP

如何将Object从servlet传递给调用JSP。

我有一个JSP调用servlet。 从这个servlet,我正在设置viewBean的属性。 现在,我想在JSP页面上从Servlet获取此属性值集。

如何使用Servlet在JSP上提供此ViewBean对象。

将对象放在session或request in servlet中,如:

String shared = "shared"; request.setAttribute("sharedId", shared); // add to request request.getSession().setAttribute("sharedId", shared); // add to session this.getServletConfig().getServletContext().setAttribute("sharedId", shared); // add to application context 

你可以在jsp中读取它:

 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>     ${shared} 

或者使用带有代码的scriptlet读取它:

 <% String shared = (String)request.getAttribute("sharedId"); String shared1 = (String)request.getSession().getAttribute("sharedId"); String shared2 = (String)this.getServletConfig().getServletContext().getAttribute("sharedId"); %> 

好吧,首先你需要设置值,这样你就可以从你的页面访问它,例如:

 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) { // Do some work. Person value = new Person("Matthew", "Abbott"; request.setAttribute("person", person); // Forward to to the JSP file. request.getRequestDispatcher("showValue.jsp").forward(request, response); } } 

接下来,您可以使用表达式语言访问您的值的属性:

    ${person.forename} ${person.surname}   

Hello ${person.forename}!!!

这样的事情应该有效

 request.setParameter("nameOfmyObjectParam",MyObject); //or request.setAttribute String yourJSP = "/WEB-INF/pages/yourJSP.jsp"; RequestDispatcher rd = getServletContext().getRequestDispatcher(yourJSP); rd.forward(request, response); 

使用Servlet API将bean设置为servlet中的request属性,如下所示 –

 request.setAttribute("viewBean", viewBean); 

并使用EL在JSP中检索(使用)它,如下所示 –

 ${requestScope.viewBean} 

在servlet的session属性中添加ViewBean对象。 并在jsp中获取该变量。

在servlet中

ViewBean viewbwanObject = new ViewBean()session.setAttribyte(“obj”,vi);

在jsp中。

 <% 

ViewBean v =(ViewBean)session.getAttribute(“obj”)%>