Wicket 小门小门:链接
我正在尝试下面的例子。ChangeTextOnClick.html工作正常,因为它与包含以下代码段(WicketLink.html)的文件位于同一目录中。但是HelloWorld.html不能像在另一个包中那样工作。我如何引用其他包上的页面Wicket 小门小门:链接,wicket,Wicket,我正在尝试下面的例子。ChangeTextOnClick.html工作正常,因为它与包含以下代码段(WicketLink.html)的文件位于同一目录中。但是HelloWorld.html不能像在另一个包中那样工作。我如何引用其他包上的页面 <wicket:link> <ul> <li> <a href="ChangeTextOnClick.html">Change Text
<wicket:link>
<ul>
<li>
<a href="ChangeTextOnClick.html">Change Text On Click</a>
<a href="com.merc.wicket.main/HelloWorld.html">Back</a>
</li>
</ul>
</wicket:link>
在Wicket中,您通常会使用Java中的链接引用另一个html文件,以便Wicket为您生成href。您可以在固定URL(称为书签链接,因为它们独立于用户会话)下装载页面,也可以只使用链接 对于可书签链接,您可以在Wicket应用程序类的init()中执行以下操作:
public class WicketApplication extends WebApplication{
protected void init() {
super.init();
mountBookmarkablePage("/ChangeTextOnClick", ChangeTextOnClick.class);
mountBookmarkablePage("/HelloWorld", HelloWorld.class);
}
}
有了这个,你总是可以在给定的URL下访问这两个页面
您可以在MyPage.java中使用以下内容创建指向此处的链接:
add(new BookmarkablePageLink<ChangeTextOnClick>("myExampleLink"
,ChangeTextOnClick.class)
add(新的BookmarkablePageLink(“myExampleLink”)
,ChangeTextOnClick.class)
在相应的MyPage.html中:
<a href="thisGetsReplacedAtRuntime"
wicket:id="myExampleLink">Change Text On Click</a>
如果您不想让链接成为可书签链接,则不需要init()中的mountBookmarkablePage内容,而是使用a链接而不是BookmarkablePageLink
看看Wicket wicki,你会在那里找到很多有用的信息。事实证明我的猜测是正确的,所以这里是一个答案: Wicket使用
/
作为路径分隔符,而不是
<wicket:link>
<ul>
<li>
<a href="ChangeTextOnClick.html">Change Text On Click</a>
<a href="/com/merc/wicket/main/HelloWorld.html">Back</a>
</li>
</ul>
</wicket:link>
-
是一种解决方案,或使用相对路径:
<wicket:link>
<ul>
<li>
<a href="ChangeTextOnClick.html">Change Text On Click</a>
<a href="../main/HelloWorld.html">Back</a>
</li>
</ul>
</wicket:link>
-
上述答案非常完美。它不仅需要位于项目中的不同文件夹中,还可以位于系统文件夹中的任何位置。如果在WicketApplication文件中正确配置,仍然可以引用该文件。我可能会尝试使用/而不是.作为目录分隔符,并且可以使用相对分隔符目录,即“./main/HelloWorld.html”谢谢,使用../main/…的相对url起作用了。使用/as dir separator不起作用。如果你可以将其作为答案,我可以接受它/separator也应该起作用,但你可能需要一个前导/,否则wicket会认为它是一个相对链接。答案可能会被重新排序。因此,如果你想对答案进行注释,注释函数将我会更有帮助的。
<wicket:link>
<ul>
<li>
<a href="ChangeTextOnClick.html">Change Text On Click</a>
<a href="../main/HelloWorld.html">Back</a>
</li>
</ul>
</wicket:link>