如何将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”)%>