2016-04-22 7 views
1

Technologie verwendet: Spring MVC.müssen codieren/Escape HTML-Zeichenfolge mit Java und dekodieren die HTML-Zeichenfolge in JavaScript

Ich habe HTML-String wie folgt:

<html> 
    <body> 
     <h2>hello</h2> 
     <h2>world</h2> 
    </body> 
</html> 

Was ich brauche?

  1. Speichern Sie dieses HTML-String in einem Modellobjekt und (diese funktionieren auf diese Weise sollen) jsp sendet
  2. jsp Mit tag, speichern HTML-String in einem versteckten HTML-Eingabefeld (empfehlen, wenn anderer Ansatz ist verfügbar)
  3. Zugang in Javascript, den Wert in verstecktem Feld (empfehlen, wenn anderer Ansatz, den ich bin vor jetzt verfügbar)

Problem ist?

  1. Speichern Sie diese HTML-String in einem Modellobjekt und
  2. Shop HTML-String in versteckten html Eingabefeld jsp senden.

Problem: aber der HTML-Inhalt in der ui gerendert wird, so bin ich nicht in der Lage zu gehen voran

Ich glaube, ich brauche HTML-String in Java zu kodieren und es in Javascript dekodieren.

Bitte schlagen Sie mir eine Lösung dafür vor.

+1

Sie konnten versuchen, 'URLEncoder' – Thomas

+0

@Thomas stattdessen zu verwenden benutzte ich unterschiedliche grundlegende Weise. Bitte sehen Sie meine aktualisierte Antwort. Ich bin mir nicht sicher, ob dies empfohlen wird, aber ich finde es hilfreich – divine

+0

Hmm, das könnte funktionieren, aber Sie müssen immer noch vorsichtig sein, da Sie die Struktur des HTML-Codes berücksichtigen müssen, passt die Struktur der Seite. Andernfalls könnten Sie die Seite versehentlich unterbrechen (ohne sie einzubetten, können Sie unerwünschte Teile aus dem HTML streichen, bevor Sie sie erneut auf der Seite hinzufügen. Außerdem sollten Sie sicherstellen, dass der HTML-Code trotz der von Ihnen verwendeten Methode nicht infiziert werden kann es zu JavaScript. – Thomas

Antwort

1

Ich speicherte den HTML-Inhalt in der Modell jsp Seite innerhalb <div> mit style hidden. Dann griff der Div-Inhalt in Javascript auf. Ich habe bei diesem Ansatz kein Codierungsproblem gehabt, weil es offensichtlich ist, dass der Browser es rendert, aber nicht anzeigt. Danke

Verwandte Themen