Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使用JSTL调用参数化函数_Java_Jsp_Jstl_El - Fatal编程技术网

Java 无法使用JSTL调用参数化函数

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" %>

这是我的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" %>
    <%@ 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>