2012-07-09 131 views
0

我必須在ext js中的一個按鈕的點擊事件中加載一個新的jsp頁面。我把這樣的代碼Window.open()in ext Js

listeners: { 
     'click': function(){ 
      alert("hai"); 
      window.open('<%=request.getContextPath()%>/jsp/dashboard/helpwindow.jsp','_blank','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=700,height=600'); 
     } 
    } 

但它不給我結果。 '<%= request.getContextPath()%>'會造成問題。

現在TH新窗口的URL

http://localhost:8080/hiring/%3C%=request.getContextPath%28%29%%3E/jsp/dashboard/helpwindow.jsp 

開放,但我需要的URL

http://localhost:8080/hiring/jsp/dashboard/helpwindow.jsp 

請幫我解決這個問題。

+1

看來您的代碼在<% and %>標記之間沒有執行。嘗試使用空格,也許使用out.print:<%out.print(request.getContextPath()); %> – 2012-07-09 11:51:40

+0

我試過了。但沒有工作。 '<%out.print(request.getContextPath()); %>/jsp/dashboard/helpwindow.jsp' – 1355 2012-07-09 12:06:48

+0

它與Ext無關。 js文件永遠不會被服務器解釋,因此標籤沒有意​​義。 – 2012-07-09 13:27:32

回答

0
listeners: { 

    'click': function() {     
     var serverPath = window.location.href; 
     var serverPathIndex = serverPath.lastIndexOf("/"); 
     window.open(serverPath.substring(0, serverPathIndex) + '/jsp/dashboard/helpwindow.jsp','_blank','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=700,height=600'); 
    } 
}