Wicket 使用实例和参数设置响应页面

Wicket 使用实例和参数设置响应页面,wicket,wicket-1.5,Wicket,Wicket 1.5,我被Wicket(1.5)中的重定向和setResponsePage的不同版本所困扰。 我挂载了一个带有参数的页面,但是我不能使用sinc类的版本。我想使用一个特定的构造函数来创建这个页面,以便传递一些参数。当我这样做时,生成的url不会显示参数 代码如下: // WicketApplication mount(new MountedMapper("create/${param}/full", MyPage.class)); // In a page PageParameters paramet

我被Wicket(1.5)中的重定向和
setResponsePage
的不同版本所困扰。 我挂载了一个带有参数的页面,但是我不能使用sinc类的版本。我想使用一个特定的构造函数来创建这个页面,以便传递一些参数。当我这样做时,生成的url不会显示参数

代码如下:

// WicketApplication
mount(new MountedMapper("create/${param}/full", MyPage.class));
// In a page
PageParameters parameters = new PageParameters();
parameters.add("param", "value");
// URL OK : create/value/full
setResponsePage(MyPage.class, parameters);
// URL KO : create//full
setResponsePage(new MyPage(parameters, arguments...));

有没有办法设置带有参数和页面实例的自定义响应页面?一种类似于
setResponsePage(新MyPage(参数,参数…),参数)的方法

进行以下两项更改:

  • 使用重载构造函数,一个只在需要传递参数时使用,另一个只在需要传递模型时使用

  • $
    更改为
    #
    ,使参数占位符成为可选的,并解决URL问题:

    mount(new MountedMapper("create/#{param}/full", MyPage.class));
    

  • 你的论点是什么?除了页面参数之外,您不应该向页面传递任何参数,但是如何解决问题将取决于您试图传递的内容。其思想是传递页面的模型,以便可以使用数据初始化它。如果你不能把它作为参数传递,你怎么做呢?你可以把一个模型传递给你的用户。在这种情况下,您就不会在构造函数中包含页面参数。那么它是一个还是另一个?还有比使用会话传递模型更好的选择吗?或者,在生成页面实例时,有没有办法不使用MountedMapper生成的url?我需要模型,但生成的url中的
    /
    是不可接受的(使另一个应用程序严重崩溃…)