我知道这个(另一个)网站上有很多类似的问题,但他们都没有帮我解决我的问题。 我有2个检票状态页面。页面被安装如下:wicket 1.5网址表格提交后的状态页
mountPage(firstPath, firstPage.class);
mountPage(secondPath, secondPage.class);
当第一次加载页面第一页时,它加载默认的构造函数和URL看起来像所需的。一旦在第一页的形式被提交,我前进至状态页面secondPage如下:
Page secondPage = new secondPage(arg1, arg2);
RequestCycle().setResponsePage(secondPage);
虽然第二页被安装时,所得到的页(secondPage)呈现与下面的网址:
context?21-1.IFormSubmitListener-componentName-childComponentName-childComponentName-someForm
我想要的是第二页用我定义的安装路径进行渲染。 我知道这是一个有状态的页面,为了让wicket加载它的确切实例,url必须是有状态的。我不介意在url中拥有一个页面版本和id,我只是不想在url中有这么长的难看的组件路径。 也,我不明白为什么我需要从第二页的网址的第一页的形式的路径。
据我了解检票1.4 HybridUrlCodingStrategy可以做类似的事情,但我找不到任何方式在检票1.5中做到这一点。 这甚至可能与检票口有关吗?
任何帮助将非常感谢,因为这真的阻止我,我已经花了太多时间试图解决它没有运气。
你的建议,问题是ARG1和ARG2是复杂的Java对象,而PageParameters只处理的StringValue,所以每当我尝试添加/让我的参数传递给了PageParameters我得到一个ClassCastException。 – zuckermanori 2012-07-26 14:12:16
公平的,我发现这个:http://apache-wicket.1842946.n4.nabble.com/Object-in-PageParameters-td1870381.html它基本上建议传递一个唯一的ID可以用来重建参数。如果你不能将对象保存到数据库并检索它,请尝试序列化它...不理想,你也可以尝试这样的东西:http://stackoverflow.com/questions/8602489/delete-version-number- in-url – Jamey 2012-07-26 15:06:05
首先你可以同时拥有两个构造函数,一个带有parmas调用第二个构造函数。 – Kazaag 2012-07-26 18:35:00