代码之家  ›  专栏  ›  技术社区  ›  Andez

在Java中用CSS渲染HTML

  •  4
  • Andez  · 技术社区  · 14 年前

    我试图在我的Java应用程序中显示HTML,HTML样式中包含了链接样式表。

    我正在使用Java的XSLT将XML转换为HTML。我想包括一个样式表,这样我就可以轻松地设置HTML输出的样式。然而,样式表被忽略,HTML被正常输出。

    为此,我使用了Jeditorpane和HTMLeditorkit。我在上找到了一些示例代码 Dev Daily 这样做。

    我的样式表放在本地硬盘上,我想知道是否有人知道如何使用它?

    我有以下代码:

    JEditorPane jEditorPane = new JEditorPane();
    jEditorPane.setEditable( false );
    
    HTMLEditorKit kit = new HTMLEditorKit();
    jEditorPane.setEditorKit(kit);
    
    try {    
        kit.getStyleSheet().importStyleSheet( new URL( "file://D:\\mycssfile.css" ) );
    } catch( MalformedURLException ex ) {
    }
    
    Document doc = kit.createDefaultDocument();
    jEditorPane.setDocument(doc);
    jEditorPane.setText(html);
    

    在XSL的HTML输出中,CSS使用以下链接-我得到的结果与包含或排除的结果相同:

    <link rel="stylesheet" type="text/css" href="mycss.css" />
    

    有什么想法吗?

    干杯,

    安德仕

    1 回复  |  直到 14 年前
        1
  •  5
  •   dogbane    14 年前

    您的URL无效,因此找不到您的CSS文件。把它改成:

    kit.getStyleSheet().importStyleSheet(new URL("file:///D:/mycssfile.css"));
    

    或者更好的是,不要使用URL,而是将CSS文件添加到类路径中,然后将其作为资源加载,如下所示:

    kit.getStyleSheet().importStyleSheet(MyClassName.class.getResource("mycssfile.css"));