使用EL访问JavaBean对象并将参数传递给JSP

g2ieeal7  于 2024-01-04  发布在  Java
关注(0)|答案(1)|浏览(297)

我试图在我们的应用程序中将遗留代码转换为JSTL+EL。我只是想知道是否有一种方法可以使用EL访问JSP中带有参数的JavaBean对象和方法?
这是前后代码。
之前:

  1. <HTML>
  2. <jsp:useBean id="someBean" scope="session" class="package.className" />
  3. <head>
  4. </head>
  5. <BODY>
  6. <p>
  7. <%= ((package.className)session.getAttribute("someBean")).getSomeDataFromBean(request,response) %>
  8. </p>
  9. </BODY>
  10. </HTML>

字符串
那我想达到的目的是

  1. <HTML>
  2. <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
  3. <%@ taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix = "fn" %>
  4. <body>
  5. <p>
  6. <c:out value="${package.className.getSomeDataFromBean(request,response)}"/> </p>
  7. </body>
  8. </HTML>


请注意,package类只是一个Bean,而不是servlet。

prdp8dxp

prdp8dxp1#

继续使用<jsp:useBean>。这很好。默认情况下,JSP托管bean在EL作用域中的id已经可用,如下所示:

  1. ${someBean}

字符串
所以,这应该可以做到:

  1. <c:out value="${someBean.getSomeDataFromBean(pageContext.request, pageContext.response)}" />


请注意,HttpServletRequestHttpServletResponse示例只能通过${pageContext}使用。

相关问题