我有一个运行 Java Tapestry 的 Web 应用程序,其中包含大量用户输入的内容。用户可以输入的唯一格式是换行符。
我从数据库中调用一个文本字符串,并将其输出到一个模板中。该字符串包含换行符/r,我将其替换为
。但是,这些在输出时被过滤,因此文本看起来像 b
text text b
text。我想我可以使用 outputRaw 或 writeRaw 来解决这个问题,但我找不到有关如何将 outputRaw 或 writeRaw 添加到 Tapestry 类或模板的任何信息。
类是:
public String getText() {
KMedium textmedium = getTextmedium();
return (textmedium == null || textmedium.getTextcontent() == null) ? "" : textmedium.getTextcontent().replaceAll("\r", "<br>");
}
tml 是:
<p class="categorytext" id="${currentCategory.id}">
${getText()}
</p>
我应该在哪里添加原始输出处理以正确显示我的换行符?
最佳答案
为了回答我自己的问题,这是如何将 $getText() 的结果输出为原始 html:
从此更改 tml:
<p class="categorytext" id="${currentCategory.id}">
${getText()}
</p>
为此:
<p class="categorytext" id="${currentCategory.id}">
<t:outputraw value="${getText()}"/>
</p>
关于java - 在 Java Tapestry 中使用 OutputRaw,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18377485/