[英]send HTML from servlet to JSP dynamically
有沒有一種簡單的方法可以使用AJAX將HTML從Servlet發送到JSP。
我已經想出了如何使AJAX動態地與servlet配合使用的方法,但是現在我想按表單上的按鈕並基於文本輸入生成HTML。
是否可以,如果可以,如何將HTML片段僅發送到現有的HTML頁面?
例,
我有一個基本表格,您可以在其中輸入您的年齡,並且根據年齡,文本具有不同的大小/顏色。 因此,例如,您將25歲作為年齡發送給servlet,然后它將諸如<p STYLE="font-size: age;">
這樣的HTML發送回該頁面。
沒有客戶端JavaScript庫,最簡單的方法是將HTML表單指向iframe,就像
<iframe name="myIframe"...>
<form target="myIframe"...>
並根據需要多次提交表格。 servlet返回的HTML將自身加載到iframe元素中。
如果您喜歡AJAX和客戶端javascript庫,則可以在jQuery和類似的庫中找到非常簡單的編程方式來實現此目的。
基本上,您的servlet可以生成任何類型的內容,例如JSON,HTML等。然后,您可以將該內容發送回客戶端並將其集成到頁面中。 如何完成取決於內容的類型。
例:
您發出AJX請求(例如,通過使用jQuery的ajax功能),並且servlet生成純HTML。 當您的JavaScript收到分析器時,您只需替換相關部分,例如,替換某些已定義元素的內容。
如果您改用JSON,則servlet可能只會發送數據,例如,根據示例中的年齡,基於字體大小。 然后,您將使用JavaScript訪問該JSON數據並執行相關操作,例如,通過更改段落的樣式。
通過ajax調用,您可以獲取輸出結果,可以是字符串,html或要解析的Json對象,並且可以在JSP / HTML上顯示結果。 因此,可以肯定的是,您可以通過ajax調用將html代碼段從servlet發送到jsp。
例如,您可以使用此方法-
1. Take a string variable in your servlet.
2. Put appropriate html string as per your conditions in this string variable
3. send this string as a response from servlet like:
response.setCharacterEncoding("UTF-8");
response.getWriter().write("your string variable here");
4. In your ajax call do like this:
success : function(dataString) {
document.getElementById("containerId").innerHTML=dataString;
},
其中containerId是要在其中顯示輸出html的html元素(如div或span)的ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.