0

Liferay ce 6.1.0を使用しています。フックでLayoutActionクラスを拡張する必要がありますが、クラスローダーによってクラスをフックにロードできません。

Caused by: java.lang.NoClassDefFoundError: com/liferay/portal/action/LayoutAction
java.lang.ClassNotFoundException: com.liferay.portal.action.LayoutAction
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)

これはクラスローダーの問題ですか、それとも拡張するために次の別のサブクラスを使用することになっていますか?前もって感謝します

ページのビュー数を追跡するために、LayoutActionクラスのincludeLayoutContent()メソッドをオーバーライドしたい。このクラスを拡張できない場合、同じことを達成するために拡張できる他の手段またはクラスはありますか?

4

1 に答える 1

1

com.liferay.portal.action.LayoutActionフックには使用できない portal-impl.jar にあります。したがって、これを行うことはできません。

これで実現したいことのヒントを教えていただければ、誰かがあなたのやりたいことのやり方を教えてくれるかもしれません。

追加情報を基にヒントをお伝えします。通常、すべてのページビューの書き込み操作は非常にコストがかかると考えられています。これにより、ポータルのパフォーマンスが低下します。特定のページのページビューを含む統計を生成するには、Google anayltics、piwik などの外部ツールを使用することをお勧めします。

潜在的なパフォーマンスの低下を許容できる場合、もう 1 つの方法は、そのようなメソッドをテーマに埋め込むことです。テーマは現在のページにアクセスし、これを使用して追加機能を実行できます。他のすべてがすでにレンダリングされてクライアントに送信されているときに、これをページの最後に配置することをお勧めします。

于 2012-12-13T08:25:42.607 に答える