如何将图像列添加到 wicket 框架中的表中?

2024-01-20

我想在 wicket 框架中的表格的每个单元格中添加包含图像的列。我在 java 类中创建表格,并有一个 createColumns() 方法,如下所示:

private List<IColumn> createColumns() {
    List<IColumn> columns = new ArrayList<IColumn>();
    // Create the columns that will be displayed, second param is the sort
    // order
    // Use column position for aggregate functions
    // Otherwise the query uses column aliases so these need to match here

    columns.add(new PropertyColumn(new Model("Status"), "code") {
        private static final long serialVersionUID = 1L;
        @Override
        public void populateItem(Item item, String componentId, IModel model) {
            Object[] values = ((ArrayWrapper) model.getObject()).getArray();
            setStatus((Integer) values[0]);
            item.add(new Image(componentId, new ResourceReference(this.getClass(), getStatus())));
        }
    });

    columns.add(new PropertyColumn(new Model("First"), "2", "array[1]"));
    columns.add(new PropertyColumn(new Model("Last"), "3", "array[2]"));        
    columns.add(new PropertyColumn(new Model("Sender"), "sender",
            "array[4]"));
    columns.add(new PropertyColumn(new Model("Receiver"), "receiver",
            "array[5]"));

    columns.add(new HeaderlessColumn() {
        private static final long serialVersionUID = 1L;

        public void populateItem(Item cellItem, String componentId,
                IModel rowModel) {
            cellItem.add(new ActionPanel(componentId, rowModel));
        };
    });

    return columns;
}

html文件简单如下:

<html xmlns:wicket="http://wicket.sourceforge.net/">
<body>
<wicket:extend>
 <table align="center" wicket:id="results"></table>
</wicket:extend>
</body>
</html>

但我得到一个例外:

org.apache.wicket.markup.MarkupException:组件单元格必须应用于“img”类型的标签,而不是“”(第0行,第0列)

这与我为图像制作专栏的线条有关。谁能帮我怎么做?


Use an AbstractColumn http://wicket.apache.org/apidocs/1.5/org/apache/wicket/extensions/markup/html/tree/table/AbstractColumn.html代替PropertyColumn. PropertyColumn如果您只需要指定属性名称(就像使用PropertyModel.

From 这次讨论 http://apache-wicket.1842946.n4.nabble.com/difference-between-ListView-and-DefaultDataTable-td1855270.html在 Wicket 用户列表中,DataTable输出此标记:

<tbody> 
  <tr wicket:id="rows"> 
    <td wicket:id="cells"> 
      <span wicket:id="cell">[cell]</span> 
    </td> 
  </tr> 
</tbody> 

注意IColumn http://wicket.apache.org/apidocs/1.5/org/apache/wicket/extensions/markup/html/repeater/data/table/IColumn.html实施ICellPopulator http://wicket.apache.org/apidocs/1.5/org/apache/wicket/extensions/markup/html/repeater/data/grid/ICellPopulator.html,它是ICellPopulator#populateItem()被覆盖在AbstractColumn.

所以,无论你想出什么populateItem如果与一个相关联应该没问题<span>在标记中。PropertyColumn可能是用标签来做的,你应该可以添加一个自定义的Panel or WebMarkupContainer其中将包含您的Image.

这是一个稍微相关的问题:如何在 Wicket 的 PropertyColumn 内建立链接? https://stackoverflow.com/q/2711190/851811

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将图像列添加到 wicket 框架中的表中? 的相关文章

随机推荐

  • 如何使用 IN 条件访问 SQLite.swift 中的 FTS 表

    我正在尝试使用 SQLite swift 查询 FTS 表 之前我在Android上做过 https stackoverflow com questions 29815248 full text search example in andr
  • Scala Future 和 java 8 CompletableFuture

    的简介CompletableFuturesJava 8 带来了可用的语言功能scala concurrent Future例如一元变换 有什么区别 以及为什么 Scala 开发人员应该更喜欢 Scala Futures 而不是 java 8
  • 防止 Web 应用程序中同时发生事务

    我们有一个 Web 应用程序 它是一个游戏 其中包含许多不同的表单和元素 它们充当按钮并触发服务器上的一些操作 问题是 如果用户单击按钮太快或在两个选项卡中打开网站 然后同时发出一些操作 有时可能会混淆我们的应用程序 我们有一些基本的保护
  • 在 S3 存储桶之间移动文件的最佳方式?

    我想每天将一些文件从生产存储桶复制到开发存储桶 例如 复制 Productionbucket feed feedname date 到developmentbucket feed feedname date 由于我想要的文件在文件夹结构中太
  • 多个 RTSP 流不工作

    我在 Activity 中使用了 4 个 VideoView 如果 uri1 可用且其他 uri 不可用 则意味着所有视频视图都显示 uri1 的视频 如果其他 uri 可用但 uri1 未启动 则意味着所有视频视图均未显示任何内容 指导我
  • 打开 Chrome 或 Firefox,无需选项卡和其他菜单项,并设置屏幕位置和大小

    我需要在设定的位置启动 Chrome 或 Firefox 具有设定的大小 并且没有选项卡和其他菜单项 最终目标是一个桌面图标 我可以单击桌面图标以在桌面上的 x y 处获得一个 X 宽 Y 高的窗口 显示特定页面 而无需将这些设置永久保留在
  • vc++ 应用程序中的看门狗

    我写了一个简单的vc 后台应用程序 我正在尝试的就像一个看门狗服务 可以监视应用程序是否正在运行 如果应用程序崩溃 那么服务应该启动应用程序 为了通过 Windows 安装程序创建安装程序 我仅使用 app exe 和 app dll 是否
  • WPF - 绑定到菜单图标

    我有一个包含菜单的用户控件 我需要将 Menu Icon 绑定到 UserControl 的属性 但它不起作用 代码是这样开始的
  • 从可执行文件创建 Windows 服务

    是否有任何快速方法可以根据给定的可执行文件创建 Windows 服务 并在启动时启动它 要从可执行文件创建 Windows 服务 您可以使用sc exe sc exe create
  • Code OSS 和 Visual Studio Code 之间的差异

    正如开发商所说here https github com Microsoft vscode issues 60 issuecomment 161792005 所有这一切的最酷之处在于 您可以选择在我们的许可下使用 Visual Studio
  • 如何实现跨应用导航并导航回Fiori launchpad主页?

    在我们公司 我们建立了 Fiori 启动板 在其中 我们配置了一个链接到自定义开发的 SAPUI5 应用程序的磁贴 该应用程序作为 BSP 部署在服务器上 我们花了很长时间 但使用该应用程序中的路由器模式 我们成功地实现了从启动板磁贴到自定
  • 有没有脚本 SVG 编辑器?

    我想使用某种脚本语言 最好是 Python 编辑 SVG 文件 特别是 我想合并两个 SVG 文件 添加一些注释 并将它们排列在更大的图像中 有没有可用于此类目的的软件 Thanks Bartosz UPDATE 我最终决定使用nosklo
  • 网页字体大小中的px到底代表什么

    我正在做一些图形 在Javascript中 如果相关的话 我知道你可以使用pt px 等查找什么时px这意味着 每个网站似乎都有相同的模糊答案 字体大小 以像素为单位 我想知道什么exactly px代表 例如 如果我有20px 20 像素
  • 尝试与 Web 服务通信时遇到“没有到主机的路由”错误

    我正在尝试与我的笔记本电脑上的网络服务进行通信 并使用 Android 手机作为客户端 我试图做一个简单的登录功能 但是 每当客户端尝试与 Web 服务通信时 Eclipse 上的 DDMS 中就会弹出此错误 我可以通过家庭网络访问网络服务
  • Android 离线语音识别只显示一个结果?

    我已经设置了语音识别服务 如本文所示Android 语音识别作为 Android 4 1 和 4 2 上的服务 https stackoverflow com questions 14940657 android speech recogn
  • 如何使 Jinja2 中的 tojson() 过滤器输出 Unicode 而不是转义序列?

    我的模板是用于JS的 let SETTINGS settings tojson 4 我的设置是一个字典 name Russian name id 12345 如果我渲染它 我会得到 let SETTINGS name Russian nam
  • 使用用户变量访问结构成员

    假设我有一个结构如下 struct person int age char name 24 person 用户给出程序应该读取哪个结构成员的参数 program age int main int argc char argv int i i
  • 使用四边形的重心坐标

    你们中的一些人知道如何使用重心填充二维四边形 坐标 目前 我将四边形分成2个三角形 但这种方式效率低下 因为我必须迭代第二个 边界框重复先前填充的像素 通过 例如 为了填充第二个三角形 我遍历了第一个三角形 属于由第二个三角形形成的边界框
  • Lua 中的 OOP 和事件监听器 (Corona SDK)

    我在 Corona SDK 中的第一步和第一次遇到的麻烦 尝试制作两个盒子 我可以通过以下方式移动它们this http www ludicroussoftware com blog 2011 07 06 simple oop with i
  • 如何将图像列添加到 wicket 框架中的表中?

    我想在 wicket 框架中的表格的每个单元格中添加包含图像的列 我在 java 类中创建表格 并有一个 createColumns 方法 如下所示 private List