2012-05-09 9 views
0

私はGoogle CalendarのAPIを使用しています。私はイベントを作成し、新しい行を持つそのイベントの説明を入力すると、 "Unterminated String constant"のようなエラーが表示されます。私はJavaからそのイベントの説明をjavascriptに渡しています。新しい行を持つ文字列をどのようにフォーマットするのですか?javascriptの文字列が終わらない

私のコードでは、それは説明が新しい行をしているとき、それ以外の場合は.onlyエラーを与えて正常に動作している

var EventDescription='<% =eventDetails.getEventDescription(eventIndex)%>' 

    eventDetails -java class 
    getEventDEscription -Method to get the Description of event. 
    eventIndex - no of the event whoes Description is needed . 

です。

+0

あなたのコードを教えてください。 –

+0

おそらく、Javaのhtml/javascript生成コードの引用符との不一致があります。コードがなければ、それを正確に指すことは不可能です。 –

答えて

5

自分自身をJSPコンテナとして、次にJavaScriptインタプリタとして想像してみてください。または、生成されたHTMLページのソースコードを見てください。

var EventDescription='<% =eventDetails.getEventDescription(eventIndex)%>' 

JSPコンテナによって解釈されます。したがってeventDetails.getEventDescription(eventIndex)が実行され、このメソッド呼び出しの結果がレスポンスに入れられます。

line 1 
line 2 

ので、生成されたJavaScriptコードは次のとおりです:

var EventDescription='line1 
line 2' 

そして、これが無効なJavaScriptコードで結果は2行で構成されていると仮定します。正しいJavaScriptコードがそう

var EventDescription='line1\nline 2' 

だろう、あなたは応答に入れる前に、Javaメソッド呼び出しの結果をJavaScriptにエスケープする必要があります。 Apache commons-lang StringEscapeUtils.escapeEcmaScript()メソッドを見てください。

+0

Nice Explaination.Thanks – iRunner

関連する問題