Java 无法使用JSTL调用参数化函数
这是我的JSP页面:Java 无法使用JSTL调用参数化函数,java,jsp,jstl,el,Java,Jsp,Jstl,El,这是我的JSP页面: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
</head>
<body>
<jsp:useBean id="x" class="beans.JSTL_demo_class">
<jsp:setProperty name="x" property="b" value="PRASHANT"/>
</jsp:useBean>
<%
session.setAttribute("shp_prdct", x);
%>
<c:set var="asd" value="John"></c:set>
<c:forEach items="${sessionScope.shp_prdct.name(asd)}" var="product">
The name is ${product.b}
</c:forEach>
name is ${asd}
</body>
</html>
我面临的错误是:
exception
org.apache.jasper.JasperException: javax.el.MethodNotFoundException: Method name not found
root cause
javax.el.MethodNotFoundException: Method name not found
我不知道我在这里做错了什么。我正在尝试通过JSTL调用函数。如果我调用了未参数化的函数,那么代码工作正常,但调用参数化函数时出现问题您需要更改方法名称:
<c:forEach items="${sessionScope.shp_prdct.getname(asd)}" var="product">
The name is ${product.b}
</c:forEach>
名称为${product.b}
如果使用参数调用方法,则需要使用完整的方法名。您应该按照编码约定进行操作。对于Java开发人员来说,这段代码很难阅读。这是一个简短的页面,介绍了一些基本知识。谢谢你,它很有效。最后一件事是,我需要在bean中调用这个函数吗
<c:forEach items="${sessionScope.shp_prdct.getname(asd)}" var="product">
The name is ${product.b}
</c:forEach>