java - Wicket 口: "Component-targetted feedback message was left unrendered",即使 FeedbackPanel 位于页面上

标签 java wicket

我正在使用 apache wicket 1.4.22。我收到一个错误,表明我的页面缺少反馈面板。但是,我已经添加了 - 那么为什么反馈没有显示?

Component-targetted feedback message was left unrendered. This could be because you are missing a FeedbackPanel on the page. Message: [FeedbackMessage message = "Problem retrieving transactions for subscription 2971", reporter = 4, level = ERROR]

这是页面构造函数的摘录:

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());

这是 super 类:

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>

---编辑----

更多调试:如果我将以下行放入 AbstractCCPage 构造函数中,它就会起作用:

error("hello world");

但是如果我将同一行放入 SubDetailPage 构造函数中,则不会 - 即使两个构造函数都被调用。

最佳答案

该问题可能是由重定向到您的页面引起的:

Wicket 重定向到您的页面实例,但没有实际呈现页面,但已添加反馈消息。

尝试将对 #error() 的调用移至 #onBeforeRender()。

关于java - Wicket 口: "Component-targetted feedback message was left unrendered",即使 FeedbackPanel 位于页面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19380903/

相关文章:

java - PageParameters导致Page的onConfigure被多次调用

java.lang.UnsatisfiedLinkError no *****.dll in java.library.path

java - GridPane JavaFx 中的冗余单元格

java - 双倍乘法与加法速度

scala - 对于我的下一个项目,一个网络应用程序,应该使用 scala+wicket 还是 scala+lift?

java - 隐藏所有子组件时隐藏的 Wicket 容器

extjs - 比较企业应用程序的 Web GUI 框架

java - 当我尝试发送要在 Wicket 口网页上显示的消息时,无法打开 IWebSocketConnection

java - 如何使用 selenium selenium.select ("","") 在下拉列表中选择值?

java - 使用 knockout.js 和 Spring MVC/JSP 的初始状态