在将多行文本写入表格单元格时遇到问题

时间:2017-07-18 19:06:35

标签: java wicket

我正在使用Java Wicket来创建表。我想写一个由多行组成的单元格;单元格中的每一行代表一个数据项。

List<EntityClassModel> classesList = classService.getClassesByNotificationId(nitem.getModelObject().getId());
nitem.add(new Label("classnamelab", getClassNames(classesList)));

然而,当我在getClassNames内部连接行时,使用classNames.append("<br>");页面会显示Latin 101<br>Latin 103。来自Chrome我保存为页面并在Notepad ++中打开它。它显示<td class="laclasses">Latin 101&lt;br&gt;Latin 103</td>

我还尝试了代码classNames.append("&lt;br&gt;");。它在单元格中显示为Latin 101&lt;br&gt;Latin 103,更糟糕。

使用保存的文件,我复制了一行并将文本更改为<td class="laclasses">Angle 101<br>Bracket 103</td>。这显示了单元格中两行的数据Angle 101Bracket 103,这就是我想要的。开发人员工具显示了五行编码。

<td class="laclasses">
   "Angle 101"
   <br>
   "Bracket 103"
</td>

样式表包含块

td.laclasses
{
    width: 140px;
    padding-right: 1em;
    text-align: left;
    white-space: pre;
}

Wicket是否有一种简单的方法来编码多个字符串,以便它们在单元格中显示为多行?

2 个答案:

答案 0 :(得分:3)

您应该使用org.apache.wicket.markup.html.basic.MultiLineLabel

答案 1 :(得分:0)

MultiLineLabel有效。由于数据位于<p>...</p>内,我不得不更改样式。