0

ここで簡略化されたコードで、メソッドが見つからないという例外が発生しています。

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); %>
4

3 に答える 3

1

保護されたメソッドは、クラス、同じパッケージ内のクラス、またはサブクラス内からのみ呼び出すことができます。コンパイルされた JSP は、これらのどれでもありません。

http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.htmlを参照してください。

于 2013-07-30T10:09:24.703 に答える
1

JSP は継承されたメソッドにアクセスできませんか?

他のクラスから継承する JSP について話している場合、JSP は他のクラスを継承できません。JSPはサーブレットにコンパイルされ、サーブレットは の実装クラスを拡張するJspBaseため、他のクラスを拡張することはできません。

于 2013-07-30T10:09:42.250 に答える
0

あなたの方法はこれを必要とします:

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

したがって、メソッドがこれらの型またはジェネリック型を受け入れるようにしてください

于 2013-07-30T10:10:06.267 に答える