私はApacheウィケット1.4.22を使用しています。ページにフィードバック パネルがないことを示すエラーが表示されました。しかし、追加したのに、フィードバックが表示されないのはなぜですか?
コンポーネントを対象としたフィードバック メッセージがレンダリングされずに残されていました。これは、ページに FeedbackPanel がないことが原因である可能性があります。メッセージ: [FeedbackMessage メッセージ = "サブスクリプション 2971 のトランザクションを取得中に問題が発生しました"、レポーター = 4、レベル = エラー]
ページ コンストラクターの抜粋を次に示します。
public class SubDetailPage extends AbstractCCPage {
public SubDetailPage(final CCSubscription sub) {
if(sub.getTransactions()==null || sub.getTransactions().isEmpty())
error("Problem retrieving transactions for subscription "+sub.getSubscriptionId());
そして、ここにスーパークラスがあります:
public abstract class AbstractCCPage extends WebPage {
protected final FeedbackPanel feedbackPanel;
public AbstractCCPage() {
feedbackPanel = new FeedbackPanel("info-panel");
feedbackPanel.setOutputMarkupId(true);
add(feedbackPanel);
以前にフィードバック パネルを使用したことがあります。彼らは正常に動作します。ここで何が間違っていますか?私はそれを見ることができません。
少しデバッグすると、フィードバック メッセージがリストに追加されたことがわかります。
Session.get().getFeedbackMessages();
そこにメッセージがあることを示しています。
そして、レンダリングされたページには実際に (空の) 情報パネルがあります:
<div id="info_panel45" class="info-panel"> </div>
- -編集 - -
いくつかのデバッグ: AbstractCPage コンストラクターに次の行を追加すると、機能します。
error("hello world");
しかし、同じ行を SubDetailPage コンストラクターに入れても、両方のコンストラクターが呼び出されていても、そうではありません。