2017-02-10 5 views
1

Ich habe Probleme mit der Zeichenfolge-Manipulation. Ich habe etwas Code in Java geschrieben, der einen xls-Übersetzer verwendet, um etwas HTML für mich zu generieren - in Form einer Zeichenkette.HTML-Zeichenfolge wird zusätzliche Newline-Zeichen, wenn vom Server an den Client gesendet

Ich benutze Spring-Framework, um diese Zeichenfolge zurück zu meinem Web-Code zu kommunizieren, aber wenn die Zeichenfolge im Javascript ankommt, scheitert es mit einem "ungültigen oder unerwarteten Token-Fehler. Darüber hinaus, wenn die Zeichenfolge in die Konsole geschrieben wird .. scheint, dass jetzt die Zeichenfolge Zeilenumbrüche für jeden neuen Tag containts

für mein Javascript alle eine Zeile, die ich wirklich die html brauchen hier sind einige Code-Bits:

try { 
     SimpleResultSet rs = dbClient.executeQuery("select MediaContent from call where id = " + callID); 
     if (rs.next()) { 
      media = rs.getString("MediaContent"); 
      mimeType = rs.getString("MediaTypeID"); 

      if(media.startsWith("<?xml")) { 
       trace.info("XSLT: " + xltString); 
       trace.info("Database XML: " + media); 
       media = Transform(media, xltString, response); 
       //trace.info("result HTML: " + media); 

       if (!media.isEmpty()) { 
        media = media.replaceAll("\n\r", "") 
         .replaceAll("\n", "") 
         .replaceAll(System.lineSeparator(), ""); 
       } 
      } 

      //media = media.replaceAll("\"","\\\\\""); 

     } 
    } catch (DBException e) { 
     trace.warning("Failed to get call content media for call id = " + callID, e); 
     return media; 
    } 
    trace.info("cleaned HTML: " + media); 
    return media == null ? "" : media; 
} 

an diesem Punkt der Spur Wenn Sie das bereinigte HTML drucken, wird die Zeichenfolge in einer Zeile ohne Zeilenvorschubzeichen angezeigt String wird dann auf das Modeland wie folgt vermehrt:

return new ModelAndView("media", "media", mediaStr); 

und auf der Seite JavaScript:

<script> 
    var contentString = "${media}"; 
    document.getElementById("mediaContentIFrame").srcdoc = contentString; 

es ist die contentString Variable auf der Seite, die JavaScript mit den ungültigen oder unerwarteten Fehlern Token versagt. Der contentString wird verwendet, um die Eigenschaft srcdoc eines IFrame zu initialisieren.

+0

können Sie zeigen, wie werden die Daten aus Backend-Aufruf? Ihr Javascript-Code. –

+1

Sie haben bereits zwei Checks hinzugefügt \ r \ n und \ n .. Fügen Sie auch \ r hinzu –

+0

Ich habe den ursprünglichen Post mit der Verwendung des contentString in Javascript aktualisiert, um einen IFrame zu initialisieren. Wird die \ r Option ausprobieren und in einer Minute Feedback geben. – Harriet

Antwort

0

Sie haben hinzugefügt, die bereits zwei Kontrollen \ r \ n \ n .. Auch \ r hinzuzufügen und ich hoffe, es beginnt arbeiten :)

Verwandte Themen