请问一下如何在jsp里面动态生成table?谢谢了! 请问一下如何在jsp里面动态生成table?谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不知道你想实现什么样的动态table。下面的例子是通过AJAX向后台servlet提交请求,获得数据,并且把这些数据实时的显示在前台页面的table中。你可以参考一下。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Title</title><script> function Recieve() { //首先声明一个与服务端servlet打交道的xmlHttp if(window.XMLHttpRequest) { xmlHttp=new XMLHttpRequest() } else if(window.ActiveXObject) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") } //设置xmlHttp的响应方法,只有当readystate为4并且status为200时,才说明后台servlet返回数据成功 xmlHttp.onreadystatechange=function() { if((xmlHttp.readystate==4)&&(xmlHttp.status==200)) { //得到servlet返回的数据(在这里后台servlet就是简单生成一个随机数返回) text=xmlHttp.responseText; document.getElementById("view").value=text; //对table添加tr元素 newRow=document.getElementById("dynaTable").insertRow(); //对添加的tr元素添加td元素 newCell=newRow.insertCell(); //在添加的td元素中将返回值填充进去 newCell.innerText=text; } } //通过xmlHttp对象指定请求的方式(POST)服务端地址(/webchat/ViewServlet),异步交互方式(true) xmlHttp.open("POST","/webchat/ViewServlet",true); //设置请求的格式 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //发送请求 xmlHttp.send(); } //设置定时执行请求,获得数据,60是执行间隔,单位是毫秒 window.setInterval("Recieve()",60);</script></head><body><input id="view" type="text" readonly="readonly"/><table id="dynaTable"></table></body></html>保存为jsp或者html格式都可以。 import java.io.IOException;import java.util.Random;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; public class ViewServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { public ViewServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //生成一个随机数 Random r=new Random(); long l=r.nextLong(); //将生成的随机数通过response对象写到客户端去,客户端接收将值写页面的table中。 response.getWriter().write(""+l); response.getWriter().flush(); } }服务端的servlet文件,保存为java格式 <?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name> webchat</display-name><servlet> <description> </description> <display-name> ViewServlet</display-name> <servlet-name>ViewServlet</servlet-name> <servlet-class> com.servlet.ViewServlet</servlet-class></servlet><servlet-mapping> <servlet-name>ViewServlet</servlet-name> <url-pattern>/ViewServlet</url-pattern></servlet-mapping></web-app>web描述符中配置上面用的那个servlet。在上面的上面的jsp文件中是通过/webchat/ViewServlet应用的,因为我的jsp文件和配置的servlet不是同级目录,所以直接从/根上下文webchat中找,如果你的jsp文件也放到根上下文中那就可以直接通过ViewSerlvet引用。建一个web工程,将上面的jsp文件和java文件分别放合适的位置,并且在web描述符文件中配置好servlet映射,然后将这个工程发布到一个serlvet容器中,常见就是tomcat,然后在IE中访问这个jsp文件,如果映射配置、引用正确的话,你会看到效果的。否则仔细根据你自己的情况检查servlet映射、引用。 真是高手,如果有直接在javascript里面生成table的例子就好了!:) 在JS中生成table上面的代码就能办到啊。就用newRow=document.getElementById("dynaTable").insertRow();//对添加的tr元素添加td元素newCell=newRow.insertCell();//在添加的td元素中将返回值填充进去newCell.innerText=text;这些代码就可以啊,这里text你在js中定义就行了。当然你可以对td、tr进行样式定义,具体的看DHTML中的TD、TR中的样式定义。 比如你想设置添加的TD元素的背景色是黑色就可以:newCell.style.backgroundColor="#000000";就可以了。当然还有很多样式属性,不能在这里一一列举,详细的自己去w3c组织的网站去查找。 200分求turntool官方中文pdf文档!!!!!!!!!!! hibernate的一个配置问题 struts2 checkboxlist 的问题! 新手请教jsp生成Exel报表的问题? 关于Struts1.2中do后面的参数!!! 一道面试题:jsp中,如何获得服务器中session的总数 这样的情况下,使用异常处理还是使用返回值的方式? portat高手请进!急啊~~~ 防盗链原理 jquery 如何显示多个相同的div 如何制作ocx插件安装程序 jsp与JavaScript可以嵌套写不?
下面的例子是通过AJAX向后台servlet提交请求,获得数据,并且把这些数据实时的显示在前台页面的table中。你可以参考一下。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Title</title><script>
function Recieve()
{
//首先声明一个与服务端servlet打交道的xmlHttp
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest()
}
else if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
//设置xmlHttp的响应方法,只有当readystate为4并且status为200时,才说明后台servlet返回数据成功
xmlHttp.onreadystatechange=function()
{
if((xmlHttp.readystate==4)&&(xmlHttp.status==200))
{
//得到servlet返回的数据(在这里后台servlet就是简单生成一个随机数返回)
text=xmlHttp.responseText;
document.getElementById("view").value=text;
//对table添加tr元素
newRow=document.getElementById("dynaTable").insertRow();
//对添加的tr元素添加td元素
newCell=newRow.insertCell();
//在添加的td元素中将返回值填充进去
newCell.innerText=text;
}
}
//通过xmlHttp对象指定请求的方式(POST)服务端地址(/webchat/ViewServlet),异步交互方式(true)
xmlHttp.open("POST","/webchat/ViewServlet",true);
//设置请求的格式
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//发送请求
xmlHttp.send();
}
//设置定时执行请求,获得数据,60是执行间隔,单位是毫秒
window.setInterval("Recieve()",60);
</script></head>
<body>
<input id="view" type="text" readonly="readonly"/>
<table id="dynaTable">
</table>
</body>
</html>
保存为jsp或者html格式都可以。
import java.util.Random;import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class ViewServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { public ViewServlet() {
super();
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//生成一个随机数
Random r=new Random();
long l=r.nextLong();
//将生成的随机数通过response对象写到客户端去,客户端接收将值写页面的table中。
response.getWriter().write(""+l);
response.getWriter().flush();
}
}
服务端的servlet文件,保存为java格式
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>
webchat</display-name>
<servlet>
<description>
</description>
<display-name>
ViewServlet</display-name>
<servlet-name>ViewServlet</servlet-name>
<servlet-class>
com.servlet.ViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ViewServlet</servlet-name>
<url-pattern>/ViewServlet</url-pattern>
</servlet-mapping>
</web-app>
web描述符中配置上面用的那个servlet。在上面的上面的jsp文件中是通过/webchat/ViewServlet应用的,因为我的jsp文件和配置的servlet不是同级目录,所以直接从/根上下文webchat中找,如果你的jsp文件也放到根上下文中那就可以直接通过ViewSerlvet引用。建一个web工程,将上面的jsp文件和java文件分别放合适的位置,并且在web描述符文件中配置好servlet映射,然后将这个工程发布到一个serlvet容器中,常见就是tomcat,然后在IE中访问这个jsp文件,如果映射配置、引用正确的话,你会看到效果的。否则仔细根据你自己的情况检查servlet映射、引用。
就用
newRow=document.getElementById("dynaTable").insertRow();
//对添加的tr元素添加td元素
newCell=newRow.insertCell();
//在添加的td元素中将返回值填充进去
newCell.innerText=text;这些代码就可以啊,这里text你在js中定义就行了。
当然你可以对td、tr进行样式定义,具体的看DHTML中的TD、TR中的样式定义。
newCell.style.backgroundColor="#000000";
就可以了。当然还有很多样式属性,不能在这里一一列举,详细的自己去w3c组织的网站去查找。