我希望你對我的用例有所幫助。我有一個Servlet在Apache Velocity模板(.vm)文件中使用JavaScript呈現一些信息。現在,在將此模板返回給瀏覽器之前,我想將整個HTML存儲到本地文件系統中,我需要從.vm模板訪問整個HTML。我被困在做最後一步。Apache Velocity ::如何從.vm文件獲取整個HTML
有人可以告訴我如何做到這一點...?
在此先感謝!
我希望你對我的用例有所幫助。我有一個Servlet在Apache Velocity模板(.vm)文件中使用JavaScript呈現一些信息。現在,在將此模板返回給瀏覽器之前,我想將整個HTML存儲到本地文件系統中,我需要從.vm模板訪問整個HTML。我被困在做最後一步。Apache Velocity ::如何從.vm文件獲取整個HTML
有人可以告訴我如何做到這一點...?
在此先感謝!
Web應用程序是客戶端服務器應用程序,這意味着您的瀏覽器即客戶端與Web服務器之間存在明顯分離。服務器和您在瀏覽器中看到的HTML之間沒有直接聯繫。
嘗試以可視化的過程:
.vm
文件。.vm
文件被服務器上的servlet讀取並呈現爲HTML的字符串表示形式。Velocity模板(或服務器上的任何其他代碼)無法訪問現在在瀏覽器中的HTML,除非瀏覽器在另一個請求中明確地將其發送回服務器。
你可以做的是:
click
事件的JavaScript代碼。var html = document.getElementById('id_of_the_element').innerHTML;
XMLHttpRequest
,或者使用從瀏覽器,或者您選擇的JS框架的原始XHR支持發送此字符串到服務器。謝謝Sergiu您的詳細回覆。我試過你的解決方案,我能夠存儲我的HTML。但我想保留我的Javascript事件。通過您的解決方案,javascript事件不會被保留...您能幫助我嗎? – ASingh
你是什麼意思? _event_是由瀏覽器發送的同步通知或信號......它們不以任何方式包含在HTML中。 –
或者,如果我可以以任何方式將HTML從瀏覽器返回給我的servlet ......? – ASingh
這個問題還不夠清楚。你能更詳細地描述這個過程的每一步嗎? –
你有什麼問題? –