私が読んだチュートリアルで getServletContext() に出くわしましたが、これら2つは何のためですか?
これは、行がどのように見えるかです:
ServletContext sc = getServletContextProvider().getServletContextLocal();
これはどのように違うのですか:
ServletContext sc = getServletContext();
私が読んだチュートリアルで getServletContext() に出くわしましたが、これら2つは何のためですか?
これは、行がどのように見えるかです:
ServletContext sc = getServletContextProvider().getServletContextLocal();
これはどのように違うのですか:
ServletContext sc = getServletContext();
ServletContextProviderあなたの答えは、インターフェイスを実装する可能性が高いクラスに固有のものです。これに適切に答えるにServletContextProviderは、宣言されているパッケージを提供する必要があります。または、さらに便利な、getServletContextProvider()およびgetServletContext()メソッド (宣言または抽象) を含むクラスまたはインターフェイスを提供する必要があります。
さらに簡単に、参照するチュートリアルへのリンク、または追加のコンテキスト (しゃれは意図されていません) を提供してください。(Google検索後の)インターネット上のメソッドへの参照getServletContextLocalは、この質問またはこの質問のコピーのいずれかです。
getServletContextProvider()クラスまたはインターフェイスを返すと仮定するとServletContextProvider、その名前で使用できるインターフェイスとクラスがいくつかあります。私が見つけたそれぞれを見ていきます:
getServletContextLocal()。getServletContextLocal()。上記のインターフェイスの実装者はLiferayServletContextProvider、メソッドを持たず、getServletContextLocal()Object を拡張します。getServletContextLocal()メソッドがなく、ResourceProviderそれが実装するインターフェースもなく、Object を拡張します。getServletContextLocal()メソッドがなく、そのリンクにリストされている 4 つの実装クラスもありません。getServletContextLocal()Object を拡張します。getServletContextLocal()。結論:入力した内容は、読んだチュートリアルのタイプミスである可能性が高く、おそらくメソッドorg.apache.portals.bridges.common.ServletContextProviderを持つ最も一般的な利用可能なインターフェイスを参照していgetServletContext(GenericPortlet portlet)ます。チュートリアルが意図していた可能性が高いのはgetServletContextProvider().getServletContext(local)、local変数がクラスを拡張する場所javax.portlet.GenericPortletです。getServletContext(local)メソッドは、その変数に関連付けられた を返しますjavax.servlet.ServletContext。javax.servlet.ServletContextによって返されるものと同じかどうかは、変数が割り当てられgetServletContext()た場所によって異なります。GenericPortlet
参考にして、参照しているチュートリアルの場所を引用してください。