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

g2ieeal7  于 5个月前  发布在  Java
关注(0)|答案(1)|浏览(73)

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

<HTML>
<jsp:useBean id="someBean" scope="session" class="package.className" />
<head>
</head>
<BODY>
<p>
<%= ((package.className)session.getAttribute("someBean")).getSomeDataFromBean(request,response) %>
</p>
</BODY>
</HTML>

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

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


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

prdp8dxp

prdp8dxp1#

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

${someBean}

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

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


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

相关问题