2016-04-27 198 views
1

蔭新的JSP,並試圖將Java字符串jsp.the代碼運行時,它被js函數裏給出,但不通過打印語句轉換的java字符串轉換成JavaScript字符串

<%String ui = "df" ;%> 
<script>function h(){alert('<%=ui%>');}</script>; 
<%h%> 

調用時運行

<% String ui = "df" ; 
out.println("<script>alert('<%=ui"+""+"%"+">');</script>");%> 

通過print語句不運行

+0

我沒有測試它,但我建議你試試這個: <%String ui =「df」; out.println(「」); %> – PacMan

+0

我試過但沒有工作 –

回答

0

你的代碼輸出以下字符串: <script>alert('<%=ui%>');</script>

你想要的是JSP解釋ui,所以你應該更換你的代碼:

out.println("<script>alert('" + ui + "');</script>"); 

或簡稱的小腳本<%...%>塊外:

<script>alert('<%=ui%>');</script> 

請注意,上面的代碼可能會導致問題,例如,如果ui字符串包含引號。你應該轉義它,使用例如apache共享,StringEscapeUtils.escapeEcmaScript(ui)

+0

Thanks.that :) –