首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >页面上的Apache Wicket事件“页面上有.”

页面上的Apache Wicket事件“页面上有.”
EN

Stack Overflow用户
提问于 2015-09-05 11:14:57
回答 1查看 89关注 0票数 0

我已经以这种形式挂载Page (带有一个预定义的参数):

代码语言:javascript
复制
mountPage("/lista/${variant}", StronaEntityV2.class);

当参数“变体”给定时,一切都是可以的。但是当没有参数时(从应用程序的角度来看也可以),URL是以形式构建的。

代码语言:javascript
复制
wicket/bookmarkable/all....package...StronaEntityV2?8

也可以,但我会知道这种情况的。在简单的情况下(有一个预定义的参数),检查参数是好的,但在更复杂的情况下不是那么简单(并且必须在不同的地方维护代码)。我的理想形象解决方案是事件

代码语言:javascript
复制
page.OnPageIsMountedOn(URL to_me)

我将接受广泛的解决办法。

形式:请在标签wicket-1.6和wicket-6上集成同义词,并创建新的wicket-7。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-05 12:19:24

您的页面配置为侦听/lista/${variant}

当您完成:setResponsePage(StronaEntityV2.class, paramsWithVariant)时,Wicket将使用挂载点并生成:/lista/variantValue

但是如果您这样做:setResponsePage(StronaEntityV2.class),即没有提供PageParameters,则Wicket将忽略/lista/${variant} (因为它不匹配),并生成一个“默认”页面url,即/wicket/bookmarkable/com.example.StronaEntityV2

因此,应用程序控制应该使用哪个url。

您可以使用可选的参数占位符:/lista/#{variant}。注意,我现在使用的是#而不是$。这样,Wicket将在没有提供可变参数的情况下生成/lista/。在页面构造函数中,您将知道url始终是"/lista“,但参数可能为空,所以最好使用:pageParameters.get("variant").toXyz(defaultValue).toOptionalXyz()

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32412405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档