我正在使用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<br>Latin 103</td>
。
我还尝试了代码classNames.append("<br>");
。它在单元格中显示为Latin 101<br>Latin 103
,更糟糕。
使用保存的文件,我复制了一行并将文本更改为<td class="laclasses">Angle 101<br>Bracket 103</td>
。这显示了单元格中两行的数据Angle 101
和Bracket 103
,这就是我想要的。开发人员工具显示了五行编码。
<td class="laclasses">
"Angle 101"
<br>
"Bracket 103"
</td>
样式表包含块
td.laclasses
{
width: 140px;
padding-right: 1em;
text-align: left;
white-space: pre;
}
Wicket是否有一种简单的方法来编码多个字符串,以便它们在单元格中显示为多行?
答案 0 :(得分:3)
您应该使用org.apache.wicket.markup.html.basic.MultiLineLabel
。
答案 1 :(得分:0)
MultiLineLabel
有效。由于数据位于<p>...</p>
内,我不得不更改样式。