【问题标题】:Wicket form and back button issue检票表格和后退按钮问题
【发布时间】:2013-02-06 22:55:00
【问题描述】:

我不知道我是否错过了什么,但我有以下问题。 我正在使用 wicket 6.5.0,我有一个简单的表单。提交表单将我重定向到另一页。当我按下浏览器(firefox 14)上的后退按钮时,我会返回我的表单,但它是空的。我想在我提交的状态下看到它。

我还注意到,如果我在表单的第一页上,我的版本是 /?0。提交带我到版本 /second?2 的页面,返回按钮带我回到版本 /?0 的页面。 为什么会这样?为什么我要跳过版本?1?

这是我的代码: WicketApplication.java

public class WicketApplication extends WebApplication
{       

    @Override
    public Class<? extends WebPage> getHomePage()
    {
        return HomePage.class;
    }

    @Override
    public void init()
    {
        super.init();
        mountPage("second", SecondPage.class);
    }
}

主页.java:

public class HomePage extends WebPage {
    private static final long serialVersionUID = 1L;

    public HomePage(final PageParameters parameters) {
        super(parameters);
        add(new SimpleForm("form"));

    }

     public final class SimpleForm extends Form<Void>
        {
        private static final long serialVersionUID = -562538189475312724L;


            private final ValueMap properties = new ValueMap();

            public SimpleForm(final String id)
            {
                super(id);
                add(new TextField<String>("field", new PropertyModel<String>(properties, "field")));
            }

            @Override
            public final void onSubmit()
            {
                    setResponsePage(new SecondPage(getPageParameters()));
            }
        }
}

主页.html

...
    <form wicket:id="form">
        <input type="text" wicket:id="field" value="" size="50" /> <input
            type="submit" value="submit" />
    </form>
...

感谢您的回复。

【问题讨论】:

    标签: java forms wicket back-button


    【解决方案1】:

    提交的时候,因为模型变了,页面变脏了,wicket增加页面的版本,添加到页面管理器。因此,您可以通过插入 ?1 创建一个版本 1。如果您尝试一下,您应该会看到 html wicket 中的预期值正在发回。

    您可以通过在您的页面上覆盖 isVersioned 并返回 false 来解决此问题。

    来自组件 - isVersioned():

    如果页面没有版本化,那么它不会跟踪其组件中的更改,并将在其生命周期内使用相同的 Page#getPageId()

    这意味着它将根据现有页面 id 序列化脏页面。

    【讨论】:

      猜你喜欢
      • 2014-10-07
      • 2011-01-15
      • 2010-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多