Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将HTML从servlet动态发送到JSP_Java_Html_Jsp_Servlets_Dynamic - Fatal编程技术网

Java 将HTML从servlet动态发送到JSP

Java 将HTML从servlet动态发送到JSP,java,html,jsp,servlets,dynamic,Java,Html,Jsp,Servlets,Dynamic,有没有一种简单的方法可以使用AJAX将HTML从servlet发送到JSP 我已经了解了如何使AJAX与servlet动态协同工作,但现在我想按下表单上的按钮并基于文本输入生成HTML 是否可能,如果可能,如何将HTML片段发送到现有的HTML页面 例如 我有一个基本的表格,你可以输入你的年龄,根据年龄,文本有不同的大小/颜色。例如,您将25作为您的年龄发送到servlet,它会将一段HTML像这样发送回页面。。没有客户端javascript库,最简单的方法是将HTML表单指向iframe,就像

有没有一种简单的方法可以使用AJAX将HTML从servlet发送到JSP

我已经了解了如何使AJAX与servlet动态协同工作,但现在我想按下表单上的按钮并基于文本输入生成HTML

是否可能,如果可能,如何将HTML片段发送到现有的HTML页面

例如


我有一个基本的表格,你可以输入你的年龄,根据年龄,文本有不同的大小/颜色。例如,您将25作为您的年龄发送到servlet,它会将一段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收到anser时,您只需替换相关部分,例如,通过替换某个已定义元素的内容


如果改用JSON,servlet可能只发送数据,例如,如示例中基于年龄的字体大小。然后,您将使用JavaScript访问JSON数据并执行相关操作,例如,通过更改段落的样式。

通过ajax调用,您可以获得将被解析的字符串、html或JSON对象的输出结果,并可以通过JSP/html显示结果。所以可以肯定的是,您可以通过ajax调用将html代码段从servlet发送到jsp

例如,您可以使用这种方法--


其中containerId是要在其中显示输出html的html元素(如div或span)的id。

在我的例子中,代码如下所示:我刚刚添加了innerHTML进行测试,但它不起作用,我认为在我的例子中应该采用不同的方法,但我不知道您是如何尝试在函数中提醒您是否在responseText中获取值的?我正在从servlet获取值,我尝试只返回纯文本并显示它,这对我很有效,但我无法使用innerHTML做任何事,我可能做了一些错误的事情,考虑到您从servlet发送的html值是多少?你能把你的servlet代码和jsp一起发布吗?jsp:servlet:我已经做了一些调整,看看能不能把它弄明白,但还没有成功。
 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;
    },