У меня довольно простой (надеюсь: P) вопрос.
Я знаю, что в старом добром коде Java-сервлета я могу получить полный путь запроса для запроса, поступающего на веб-сервер, следующим образом:
String requestBaseUrl =
String.format("%s://%s:%s%s", request.getScheme(), request.getServerName(),
request.getServerPort(), request.getContextPath());
Теперь сделать то же самое в JSP довольно просто. Однако теперь я должен сделать это в шаблоне Velocity 1.5. В частности, мне нужно вывести эту информацию в виде атрибута «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');
Так что я думаю, что самый надежный способ сделать это - извлечь и вставить абсолютный URL-адрес, где запущено приложение, и ссылаться на файл jnlp апплета, используя ту же логику, что и в моем предыдущем фрагменте Java. *
Сейчас я перебираю документацию Velocity. Но если бы кому-то приходилось иметь дело с чем-то похожим, я был бы благодарен за эквивалентную идиому в Velocity.
Я благодарю вас за ваше время и помощь!