AJAXを多用するWicketアプリケーションを作成しており、を介してCSSに貢献しているパネルがありますrenderHead()
。ただし、パネルがAJAXを介して(たとえば、を介して)置き換えられている場合AjaxTabbedPanel
、古いパネルのヘッダーの寄与は残り、アプリケーションの残りの部分を汚染します。応答の肥大化とは別に、これはCSS宣言が過度に一般的である場合に問題を引き起こし、その結果、アプリケーションの他の領域でレンダリングの問題が発生します。
これを回避する方法はありますか?IHeaderReponse
たとえば、パネルが交換されたとき/表示されなくなったときに再作成するメカニズムはありますか?
価値のあるものとして、ヘッダー寄稿者の例は次のとおりです。
@Override
public void renderHead(IHeaderResponse response) {
response.renderCSSReference(new SharedResourceReference(SearchMainPanel.class, "Search.css"));
}
Wicket1.5.3を使用しています。
<link rel="stylesheet" ... />
パネルのマークアップにをレンダリングする<body>
(つまり、ヘッダーコントリビューターを使用しない)カスタムラベルで成功しましたが、IE8はこのCSSの存在を認めることを拒否します。したがって、戦略を再考する必要があります。