【问题标题】:Wicket directory structure检票口目录结构
【发布时间】:2010-11-27 12:15:51
【问题描述】:

我正在尝试找出 wicket 的目录结构。我完全不明白! 假设我想加载带有 images/logo.gif 或类似内容的图像。我必须在哪里放置图像文件夹? 请在这件事上给予我帮助! ;)

【问题讨论】:

    标签: java image directory structure wicket


    【解决方案1】:

    Wicket 通过 OOP 范式促进对整个网页的思考,其中包括资源处理。

    因此,如果您的 SomePage extends WebPage 在包 myprogram.view.pages 中,您很可能应该将图像等添加到 myprogram.view.pages.assets或其他类似名称的逻辑包),然后添加图像在 SomePage 源中调用

    add(new Image("id", new ResourceReference(this.getClass(), "assets/logo.gif")));
    

    通过这种方式,您的所有页面、其组件,当然还有相关资产的结构都合理(只有我一个人对人们仍然将所有 CSS 样式都塞进一个巨大的样式表感到恼火吗?)它与其他一切都是分离的。

    现在是高级部分:对于页面上的静态元素,您很可能不想执行上述操作,因为这显然是一种重量级的方式,您实际上可能希望让设计师决定使用哪个徽标图像使用。对于这类事情,请使用

    <wicket:link>
        <img src="images/logo.gif" />
    </wicket:link>
    

    直接在标记文件中。 wicket:link 标签会自动链接指向正确文件的图片资源(路径与SomePage.class相关!),甚至自动处理缓存。

    【讨论】:

      【解决方案2】:

      您可以直接在项目的根目录中创建图像文件夹。即您的战争档案必须包含根级别的 META-INF、WEB-INF、图像。或者在 servlet 容器中的 Web 应用程序文件夹的根目录中。然后在你的 html 中引用它就像

      如果您从 java 代码中引用图像,则必须使其相对于您的 servlet 路径。

      可以通过 servlet 上下文访问它 类 MyPage 扩展 WebPage { 公共我的页面(){ final ServletContext ctx = ((WebApplication) getApplication()).getServletContext(); 文件 imgFile = new File(ctx.getRealPath("/images/pic1.jpg")); } }

      【讨论】:

      • 你能再解释一下吗? :) 那太好了!
      • opps... 编辑在标签中吃掉我的帖子。固定的,很少解释。
      【解决方案3】:

      在 Netbeans 中,它位于 Source Packages tld.domain.project 下 在那里你创建了一个名为 images 的新文件夹,它可以工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        • 2017-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多