Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.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

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 JSP不能访问继承的方法吗?_Java_Jsp_Inheritance_Polymorphism_Portlet - Fatal编程技术网

Java JSP不能访问继承的方法吗?

Java JSP不能访问继承的方法吗?,java,jsp,inheritance,polymorphism,portlet,Java,Jsp,Inheritance,Polymorphism,Portlet,我在一段代码中得到了一个未发现异常的方法,在这里进行了简化 public class myOverriddenPortlet { //usual doView, etc. protected void myPrintMethod ( javax.portlet.PortletRequest req, javax.portlet.PortletResponse res, javax.servlet.jsp.JspWriter out ) { //dostuff

我在一段代码中得到了一个未发现异常的方法,在这里进行了简化

public class myOverriddenPortlet {
//usual doView, etc.
protected void myPrintMethod (
    javax.portlet.PortletRequest req, 
    javax.portlet.PortletResponse res, 
    javax.servlet.jsp.JspWriter out
) {
    //dostuff
   }
}

public class myPortlet extends myOverriddenPortlet {
    //usual portlet stuff
}
在jsp中

<%myPrintMethod(request, response, out); %>

受保护的方法只能从类、同一包中的类或子类中调用。您编译的JSP不是这些

JSP不能访问继承的方法吗


如果您谈论的是从其他类继承JSP,那么任何JSP都不能继承其他类。您的JSP将被编译成一个Servlet,该Servlet反过来将扩展
JspBase的一些实现类,因此它不能扩展其他类。

您的方法需要:

protected void myPrintMethod (
    javax.portlet.PortletRequest req, 
    javax.portlet.PortletResponse res, 
    javax.servlet.jsp.JspWriter out
) 
但是你提供了

request - I guess its an object of HttpRequest
response- I guess its an object of HttpResponse

因此,请尝试让您的方法接受这些类型或泛型类型

谢谢,我假设最终编译的类包含它所呈现的portlet的扩展和实现。谢谢,但这不是问题所在,PortletRequest是portlet呈现和操作请求对象的超类型,响应也是如此