我有一個相當簡單的(我希望:P)的問題。在Velocity模板中獲取webapp的絕對上下文路徑
我知道,好老的Java servlet代碼,我可以得出一個請求,即進入這樣的Web服務器完整的請求路徑:
String requestBaseUrl =
String.format("%s://%s:%s%s", request.getScheme(), request.getServerName(),
request.getServerPort(), request.getContextPath());
現在,做同樣的事情在JSP是非常簡單。但是,我現在必須在Velocity 1.5模板中執行此操作。具體來說,我需要輸出該信息作爲我需要集成到我的Web應用程序中的webstart applet的'codebase'屬性。
我想這一點,但小程序拒絕開始,而不是拋出一個FileNotFoundException異常:P
<script src="http://www.java.com/js/deployJava.js"></script>
<script>
var attributes = { code:'org.groundhog.MyApplet', width:360, height:280} ;
var parameters = {
jnlp_href: './webstart/myapplet.jnlp', <------------------ this
bgColor: '#4f616d', mayscript: true
};
deployJava.runApplet(attributes, parameters, '1.6');
所以我認爲最可靠的方法做,這是派生,並粘在絕對網址,其中應用程序正在運行,並使用與以前的Java代碼片段中相同的邏輯從那裏引用applet的jnlp文件。
現在我正在通過Velocity的文檔進行洗牌。但是,如果有人不得不處理類似的事情,我會很感激Velocity中的相應成語。
我感謝您的時間和幫助!
什麼是加載速度,你使用某種類型的控制器?爲什麼不在控制器中構建完整路徑,將它作爲屬性添加到Velocity上下文中,然後引用該變量? – 2011-05-17 18:50:10
你讀了我的思想的人,讀了我的心思嘿嘿。真正的問題是缺乏睡眠。乾杯! – 2011-05-18 15:01:46