将servlet中的HTML动态发送到JSP

时间:2014-09-05 09:08:30

标签: java html jsp servlets dynamic

是否有一种使用AJAX将HTML从servlet发送到JSP的简单方法。

我已经弄清楚如何使AJAX动态地与servlet一起工作,但现在我想按下表单上的按钮并根据文本输入生成HTML。

是否可以,如果是这样,如何将HTML片段发送到现有的HTML页面?

实施例,

我有一个基本表单,您可以输入您的年龄,并根据年龄,文本具有不同的大小/颜色。因此,您将例如25作为您的年龄发送到servlet,并将此片段<p STYLE="font-size: age;">发送回该页面。

3 个答案:

答案 0 :(得分:0)

没有客户端javascript库的最简单方法是将HTML表单指向iframe,就像

一样
<iframe name="myIframe"...>

<form target="myIframe"...>

并根据需要多次提交表单。 servlet返回的HTML将在iframe元素中加载自身。

如果你喜欢AJAX和客户端javascript库,你可以在jQuery和类似的库中找到非常简单的编程方法。

答案 1 :(得分:0)

基本上,您的servlet可以生成任何类型的内容,例如JSON,HTML等 然后,您将该内容发送回客户端并将其集成到页面中。 如何完成取决于内容的类型。

示例:

您发出一个AJX请求(例如,通过使用jQuery的ajax功能),您的servlet会生成简单的html。当您的JavaScript收到anser时,您只需替换相关部分,例如通过替换某些已定义元素的内容。

如果您使用的是JSON,那么您的servlet可能只会发送数据,例如基于年龄的字体大小,如示例所示。然后,您可以使用JavaScript访问该JSON数据并执行相关操作,例如通过改变段落的风格。

答案 2 :(得分:0)

通过ajax调用,您可以获得输出结果,字符串,html或Json对象将被解析,结果可以通过JSP / HTML显示。所以你肯定可以通过ajax调用将servlet中的html代码段发送到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。