很抱歉这个棘手的问题,所以我正在尝试将我们的遗留代码转换为 JSTL 以避免我们的应用程序中出现 XSS。我只是想知道是否有一种方法可以使用 JSTL 访问 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>
注意,包类只是一个Bean,而不是servlet。
任何意见都将受到高度赞赏!
继续使用
<jsp:useBean>
。很好。默认情况下,该 bean 已在 EL 范围内通过其 id
可用:
${someBean}
所以,应该这样做:
<c:out value="${someBean.getSomeDataFromBean(request,response)}" />