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呈现和操作请求对象的超类型,响应也是如此