ani*_*omc 3 java parameters wicket hyperlink
我需要发送Wicket链接(例如通过邮件)在系统中引用实例.
例如,邮件可能包含:
来自:... @ ... To:... @ ...主题:订单待定
... txt ...点击此处:http://I.dont.care.the.style.of.the.linkPage.OrderDetailPage?orderId = 1001 ... txt ...
我有两个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.
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
我不知道如何发送链接,因为,我无法创建一个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);
Run Code Online (Sandbox Code Playgroud)
标记:
<li><a href="#" wicket:id="alink"><span wicket:id="id"/></a></li>
Run Code Online (Sandbox Code Playgroud)
生成的URL是
http://localhost:8080/wicket/bookmarkable/packagePath.OrderDetailPage?orderId=1001
Run Code Online (Sandbox Code Playgroud)
可以,但是,仍然不会调用"参数"构造函数.
固定:
我解决了这个问题,但我知道解决方案不行.
public OrderDetailPage() {
this(WicketApplication.orderRepository.get(Integer
.parseInt(RequestCycle.get().getRequest()
.getRequestParameters().getParameterValue("orderId").toString())),
null);
}
Run Code Online (Sandbox Code Playgroud)
编辑:我读了一些关于"挂载"网址的内容,这可行吗?怎么样?
Mar*_*rst 13
将BookMarkablePageLink有2个构造函数:一个用于连接到链接页面的默认构造函数,以及一个带有一个额外的参数与提供的链接PageParameters,这将调用与构造PageParameters.
您可以像这样创建链接:
PageParameters pars = new PageParameters();
pars.add("id", 12345);
add(new BookmarkablePageLink("id", MyPage.class, pars);
Run Code Online (Sandbox Code Playgroud)
这也适用于该setResponsePage方法:
PageParameters pars = new PageParameters();
pars.add("id", 12345);
setResponsePage(MyPage.class, pars);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6630 次 |
| 最近记录: |