没有为 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">
我正在处理 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">