没有为 JaspeReports 服务器上的 "HTML" 标记错误指定标记处理器工厂

No markup processor factory specified for "HTML" markup error on JaspeReports Server

我正在处理 JasperReports 报告,当我在 Jaspersoft Studio 上编译它时,它工作得很好,但是当我将它部署在 JR Server 6.3.0 上时,它给了我一个没有为 HTML 标记指定标记处理器的错误:

No markup processor factory specified for "HTML" markup

我使用 html 标记为报告中的某些文本部分添加了一些字体效果。我附上错误的屏幕截图。

如何解决这个错误?

寻找处理器的Java代码区分大小写

package net.sf.jasperreports.engine.fill;
// ...
public abstract class JRFillTextElement extends JRFillElement implements JRTextElement {
// ...
private static final Map<String, MarkupProcessor> markupProcessors = new HashMap<String, MarkupProcessor>(); 
// ...
protected MarkupProcessor getMarkupProcessor(String markup) {
    MarkupProcessor markupProcessor = markupProcessors.get(markup); // it is just a Map. The key is case sensetive

default.jasperreports.properties 文件中,html 标记的处理器以小写形式注册。看名字结尾(factory.html):

net.sf.jasperreports.markup.processor.factory.html=net.sf.jasperreports.engine.util.JEditorPaneMarkupProcessor.HtmlFactory

你应该使用小写的名字,像这样:

<textField>
    <reportElement x="0" y="0" width="100" height="10"/>
    <textElement markup="html">