2017-06-16 1 views
0

unter Verwendung von HTML-Code aus Java zu erstellen, die gut arbeiten, aber ich verstehe nicht, wie verwenden, wenn ich so etwas wie diese Wie machen wir Text html mit j2html java enthalten <a href="https://j2html.com/" rel="nofollow noreferrer">j2html</a> html lib

<p>The fox ran over the <b>Bridge</b> in the forest</p> 

möge Wenn ich mache

import static j2html.TagCreator.*; 

    public class HtmlTest 
    { 
     public static void main(String[] args) 
     { 
      System.out.println(p("The fox ran over the " + b(" the bridge") + "in the forest")); 
     } 

    } 

I

<p>The fox ran over the &lt;b&gt;the bridge&lt;/b&gt; in the forest</p> 

erhalten also als nur Text fett behandelt.

Hinweis einfach

import static j2html.TagCreator.*; 

public class HtmlTest 
{ 
    public static void main(String[] args) 
    { 
     System.out.println(p(b("the bridge"))); 
    } 

} 

tun richtig

geben nicht machen
<p><b>the bridge</b></p> 

Antwort

1

Ich habe noch nie verwendet j2html, aber Blick auf die example, wenn ich mich nicht falsch, ich die Syntax erraten sollte sein:

p("The fox ran over the ", b(" the bridge"), "in the forest") 
Sorry meine Unternehmensumgebung erlaubt mir nicht, Eclip herunterzuladen se usw. zu testen .. .

Update: Oben war falsch. Aber ich habe einen Weg gefunden - obwohl es ziemlich komplex ist:

p("The fox ran over the ").with((DomContent)b("the bridge")).withText(" in the forest") 

Ausgang:

<p>The fox ran over the <b>the bridge</b> in the forest</p> 

(DomContent) kann entfernt werden, aber ich behielt für klären. Ich denke, die Logik ist, dass, wenn etwas als Text hinzugefügt würde, escape wäre, so ist die einzige Möglichkeit, es zum Laufen zu bringen, stattdessen die DomContent oder ContainerTag hinzuzufügen.

Update 2: "Besser" Weg gefunden!

p(new Text("The fox ran over the "), b("the bridge"), new Text(" in the forest")) 

oder mit einem "Helfer"

import static j2html.TagCreator.*; 
import j2html.tags.Text; 

public class Test { 

    private static Text $(String str) { 
     return new Text(str); 
    } 

    public static void main(String[] args) { 
     System.out.println(p($("The fox ran over the "), b("the bridge"), $(" in the forest"))); 
    } 

} 
+0

Großartig, danke geschrieben werden –

0
<p>The fox ran over the <b>Bridge</b> in the forest</p> 

als

p(join("The fox ran over the", b("Bridge"), "in the forest") 
+0

Funktion von j2html bereitgestellt kommen, kann es nicht finden? –

+0

Ja, https://github.com/tipsy/j2html/blob/f87f9d864716809da2f6e61d946e9c12259d8e67/src/main/java/j2html/TagCreator.java#L71-L81 – tipsy

Verwandte Themen