簡體   English   中英

將servlet的HTML動態發送到JSP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM