是否有一种使用AJAX将HTML从servlet发送到JSP的简单方法。
我已经弄清楚如何使AJAX动态地与servlet一起工作,但现在我想按下表单上的按钮并根据文本输入生成HTML。
是否可以,如果是这样,如何将HTML片段发送到现有的HTML页面?
实施例,
我有一个基本表单,您可以输入您的年龄,并根据年龄,文本具有不同的大小/颜色。因此,您将例如25作为您的年龄发送到servlet,并将此片段<p STYLE="font-size: age;">
发送回该页面。
答案 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。