页面 "page was mouted on ..." 上的 Apache Wicket 事件
Apache Wicket event on Page "page was mouted on ..."
我以这种形式安装页面(带有一个预定义参数):
mountPage("/lista/${variant}", StronaEntityV2.class);
当给出参数"variant"时,一切正常。但是当参数不存在时(从应用程序的角度来看也可以)URL 以
形式构建
wicket/bookmarkable/all....package...StronaEntityV2?8
也可以,不过那种情况我会知道的。在简单的情况下(使用一个预定义的参数)检查参数是好的,但在更复杂的情况下就不是那么简单了(并且必须在不同的地方维护代码)。
我理想的成像解决方案是 event
page.OnPageIsMountedOn(URL to_me)
我会接受广泛的解决方案。
正式:请整合标签 wicket-1.6 和 wicket-6 的同义词,并创建新的 wicket-7
您的页面已配置为收听 /lista/${variant}
。
当您这样做时:setResponsePage(StronaEntityV2.class, paramsWithVariant)
那么 Wicket 将使用挂载点并生成:/lista/variantValue
.
但是如果您这样做:setResponsePage(StronaEntityV2.class)
,即没有提供 PageParameters,那么 Wicket 将忽略 /lista/${variant}
(因为它不匹配)并会生成一个 "default" 页面 url,即/wicket/bookmarkable/com.example.StronaEntityV2
.
所以应用程序控制应该使用哪个url。
您可以使用可选参数占位符:/lista/#{variant}
。请注意,我现在使用 #
而不是 $
。这样,当没有提供 variant 参数时,Wicket 将生成 /lista/
。在页面构造器中,您会知道 url 始终是“/lista”,但参数可能是 null,因此最好使用:pageParameters.get("variant").toXyz(defaultValue)
或 .toOptionalXyz()
.
我以这种形式安装页面(带有一个预定义参数):
mountPage("/lista/${variant}", StronaEntityV2.class);
当给出参数"variant"时,一切正常。但是当参数不存在时(从应用程序的角度来看也可以)URL 以
形式构建wicket/bookmarkable/all....package...StronaEntityV2?8
也可以,不过那种情况我会知道的。在简单的情况下(使用一个预定义的参数)检查参数是好的,但在更复杂的情况下就不是那么简单了(并且必须在不同的地方维护代码)。 我理想的成像解决方案是 event
page.OnPageIsMountedOn(URL to_me)
我会接受广泛的解决方案。
正式:请整合标签 wicket-1.6 和 wicket-6 的同义词,并创建新的 wicket-7
您的页面已配置为收听 /lista/${variant}
。
当您这样做时:setResponsePage(StronaEntityV2.class, paramsWithVariant)
那么 Wicket 将使用挂载点并生成:/lista/variantValue
.
但是如果您这样做:setResponsePage(StronaEntityV2.class)
,即没有提供 PageParameters,那么 Wicket 将忽略 /lista/${variant}
(因为它不匹配)并会生成一个 "default" 页面 url,即/wicket/bookmarkable/com.example.StronaEntityV2
.
所以应用程序控制应该使用哪个url。
您可以使用可选参数占位符:/lista/#{variant}
。请注意,我现在使用 #
而不是 $
。这样,当没有提供 variant 参数时,Wicket 将生成 /lista/
。在页面构造器中,您会知道 url 始终是“/lista”,但参数可能是 null,因此最好使用:pageParameters.get("variant").toXyz(defaultValue)
或 .toOptionalXyz()
.