Wicket:创建PDF文件的链接

时间:2014-09-10 10:58:26

标签: java pdf hyperlink wicket

我必须重新编写一个包含pdf文件链接的页面。

到目前为止,该页面看起来像这样:

NewsPanel.html

<wicket:fragment wicket:id="news">
    [...]
    <ul>
        <li><a href="res/pdf/NewsAugust.pdf" target="_blank">August</a></li>        
        <li><a href="res/pdf/NewsSeptember.pdf" target="_blank">September</a></li>    
    </ul>
    [...]
</wicket:fragment>

现在我必须使用数据库中的信息构建链接。

我尝试过这样的事情:

NewsPanel.java

[...]
Resource pdfResource = new WebResource() {

    private static final long serialVersionUID = 1L;

    @Override
    public IResourceStream getResourceStream() {
        File pdf = new File("res/newsletter/September.pdf");
        IResourceStream stream = new FileResourceStream(pdf);
        return stream;
    }
};
ResourceLink<Void> resourceLink = new ResourceLink<Void>("pdf", pdfResource);
add(resourceLink);
resourceLink.add(new Label("label", new Model<String>("September")));
[...]

NewsPanel.html

<wicket:fragment wicket:id="news">
    [...]
    <ul>
        <li><a href="#" wicket:id="pdf"><wicket:container wicket:id="label"></wicket:container></a></li>  
    </ul>

</wicket:fragment>

但是当我点击链接时,它会显示404错误...

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

和往常一样,只要我在这里发布一个问题,我就会意识到答案,就像这样简单: NewsPanel.java

ExternalLink link = new ExternalLink("pdf", "res/newsletter/September.pdf", "September");
add(link);

NewsPanel.html

<a href="#" wicket:id="pdf">