java – 如何引用带参数Wicket的页面
发布时间:2020-12-15 05:07:02 所属栏目:Java 来源:网络整理
导读:我需要发送Wicket链接(例如通过邮件)在系统中引用实例. 例如,邮件可能包含: 来自:… @ … 至: …@… 主题:订单待定 … 文本… ?点击此处:http://I.dont.care.the.style.of.the.linkPage.OrderDetailPage?orderId=1001 … 文本… 我有两个OrderDetailPag
我需要发送Wicket链接(例如通过邮件)在系统中引用实例.
例如,邮件可能包含: 来自:… @ … … 文本… 我有两个OrderDetailPage的构造函数 public class OrderDetailPage extends BasePage { public OrderDetailPage(PageParameters parameters){ this(OrderRepository.getById(parameters.getAsInteger("orderId")),null); } public OrderDetailPage(Order order,WebPage back) { super(new CompoundPropertyModel<Order>(order)); //Renders the page for the order received. //back is the page we came from. Null hides link. ... } ... } 我不知道如何发送链接,因为,我无法创建一个Bookmarkable链接,因为它寻找默认的构造函数…当然,我没有. 我正在为另一页做的是: final PageParameters pars = new PageParameters(); pars.add("orderId","1001"); BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("alink",OrderDetailPage.class,pars); link.add(new Label("id","1001")); add(link); 标记: <li><a href="#" wicket:id="alink"><span wicket:id="id"/></a></li> 生成的URL是 http://localhost:8080/wicket/bookmarkable/packagePath.OrderDetailPage?orderId=1001 可以,但是,仍然不会调用“参数”构造函数. 固定: 我解决了这个问题,但我知道解决方案不行. public OrderDetailPage() { this(WicketApplication.orderRepository.get(Integer .parseInt(RequestCycle.get().getRequest() .getRequestParameters().getParameterValue("orderId").toString())),null); } 编辑:我读了一些关于“挂载”网址的内容,这可行吗?怎么样? 解决方法
BookMarkablePageLink有2个构造函数:一个用于连接到链接页面的默认构造函数,另一个带有额外参数以提供带有PageParameters的链接,后者将使用PageParameters调用构造函数.
您可以像这样创建链接: PageParameters pars = new PageParameters(); pars.add("id",12345); add(new BookmarkablePageLink("id",MyPage.class,pars); 这也适用于setResponsePage方法: PageParameters pars = new PageParameters(); pars.add("id",12345); setResponsePage(MyPage.class,pars); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |