2012-05-07 2 views
0

可能性の重複:コードのこの種を持っている
How to use scriptlet inside javascriptJavascriptとスクリプトレット:できますか?

<% 
if(request.getAttribute("exception")!=null){%> 

<script type="text/javascript" > 
    alert("hi"); 

    parent.error.document.open(); 
    parent.error.document.write("bye"); 
    parent.error.document.write(<%=request.getAttribute("exception").toString()%>); 
    parent.error.document.close(); 

</script> 
</form> 




<%}%> 

ことは可能ですか?何か別の選択肢はありますか?

+0

スクリプトレットのいくつかの[Tag Library](http://java.sun.com/products/jsp/tutorial/TagLibrariesTOC.html)insteddを使用すると可能です。 –

+0

スクリプレット条件でJavaスクリプトを定義することは可能です。 –

答えて

0

変数の代わりに値を文字列として扱うための引用符がありません。ページに印刷された場合は、以下のよう

parent.error.document.write("<%=request.getAttribute("exception").toString()%>"); 

、表示されます。

parent.error.document.write("myException"); 
+0

でもアラートボックスは表示されません。 – abson

+0

@ absonあなたの 'if'ステートメントが失敗しています...あなたが持っているものは、上記の答えに書かれている引用符を除いて、有効なコードです。 –

+0

これはifブロック内にありますが、警告ボックスを表示したり表示したりしません – abson

0

あなたのコードは動作するはずです。しかし、私はJSTLを好む:

<c:if test="${not empty(exception)}"> 
    <script type="text/javascript"> 
     alert("hi"); 
     parent.error.document.open(); 
     parent.error.document.write("bye"); 
     parent.error.document.write(<%=request.getAttribute("exception").toString()%>); 
     parent.error.document.close(); 

    </script> 
</c:if> 

jspのためにもっと自然に見える。

関連する問題