首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wicket wicket:链接

wicket wicket:链接
EN

Stack Overflow用户
提问于 2011-01-15 23:59:25
回答 3查看 7.3K关注 0票数 4

我正在尝试下面的例子。ChangeTextOnClick.html可以正常工作,因为它与包含以下代码片段(WicketLink.html)的文件位于相同的目录中。但是HelloWorld.html不能像在另一个包中那样工作。如何引用不同包上的页面。

代码语言:javascript
复制
 <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>

我的页面位于以下目录结构中

代码语言:javascript
复制
com.merc.wicket.link.WicketLink.java and .html
com.merc.wicket.link.ChangeTextOnClick.java and .html
com.merc.wicket.main.HelloWorld.java and .html
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-16 03:59:50

事实证明我的猜测是正确的,所以这是一个答案:

Wicket使用/作为路径分隔符,而不是.

代码语言:javascript
复制
<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>

是一种解决方案,或者使用相对路径:

代码语言:javascript
复制
<wicket:link>
    <ul>
        <li>
            <a href="ChangeTextOnClick.html">Change Text On Click</a>
            <a href="../main/HelloWorld.html">Back</a>
        </li>
    </ul>
</wicket:link>
票数 5
EN

Stack Overflow用户

发布于 2011-01-16 03:53:10

在Wicket中,您通常会使用Java中的Link引用另一个html文件,让Wicket为您生成href。您可以在固定URL (称为Bookmarkable Link,因为它们独立于用户会话)下挂载页面,或者只使用一个链接。

对于Bookmarkable Link,您可以在Wicket应用程序类的init()中执行以下操作:

代码语言:javascript
复制
public class WicketApplication extends WebApplication{

    protected void init() {
        super.init();
        mountBookmarkablePage("/ChangeTextOnClick", ChangeTextOnClick.class);
        mountBookmarkablePage("/HelloWorld", HelloWorld.class);
    }
}

这样,您就可以随时访问给定URL下的这两个页面。

您可以在MyPage.java中使用以下内容创建指向此处的链接:

代码语言:javascript
复制
add(new BookmarkablePageLink<ChangeTextOnClick>("myExampleLink"
                   ,ChangeTextOnClick.class)

在相应的MyPage.html中:

代码语言:javascript
复制
<a href="thisGetsReplacedAtRuntime" 
                  wicket:id="myExampleLink">Change Text On Click</a>

如果你不希望链接是可加书签的,你不需要在init()中使用mountBookmarkablePage的东西,使用一个链接而不是一个BookmarkablePageLink。

看看Wicket wicki,你会发现那里有很多有用的信息。

票数 10
EN

Stack Overflow用户

发布于 2012-11-06 20:31:33

上面的答案是,perfect.It不仅需要在项目中的不同文件夹中,而且可以在system.Still中的文件夹中的任何位置引用该文件,如果在WicketApplication文件中正确完成配置的话。

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

https://stackoverflow.com/questions/4700549

复制
相关文章

相似问题

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