<script type="text/javascript"> var temp=''; function getResult(){ var keyword=document.getElementById('keyword').value; if(temp!=keyword && keyword!=''){ temp=keyword; var url='<%=path%>/ajaxServlet?keyword='+keyword;
if (window.XMLHttpRequest) { req = new XMLHttpRequest(); }else if (window.ActiveXObject){ req = new ActiveXObject('Microsoft.XMLHTTP'); } if(req){ req.open("POST",url, true); req.onreadystatechange = complete; req.send(null); } }else{ var leng=tb.rows.length; for(var i=0;i<leng;i++){ tb.deleteRow(0); } } }
function complete(){ if (req.readyState == 4) { if (req.status == 200) { var strResult = unescape(req.responseText); var arrResult = strResult.split("@@@"); var tb=document.getElementById('tb'); var leng=tb.rows.length; for(var i=0;i<leng;i++){ tb.deleteRow(0); } for(var i=0;i<arrResult.length;i++){ var row=tb.insertRow(); var cell=row.insertCell(); cell.innerHTML="<a href=search?keyword="+arrResult[i]+"><font>"+arrResult[i]+"</font></a>"; } }else{ alert(req.status); } } }
<script type="text/javascript"> var pro_array = new Array(); <% int project_count=0; Collection projects1=(Collection)request.getAttribute("project"); Iterator it = projects1.iterator(); while(it.hasNext()) { Sqlconnect project=(Sqlconnect)it.next();
楼主【zhangcunhua】截止到2008-06-30 16:51:27的历史汇总数据(不包括此帖):
发帖数:8 发帖分:240
结贴数:4 结贴分:160
未结数:4 未结分:80
结贴率:50.00 % 结分率:66.67 %
楼主加油
var temp='';
function getResult(){
var keyword=document.getElementById('keyword').value;
if(temp!=keyword && keyword!=''){
temp=keyword;
var url='<%=path%>/ajaxServlet?keyword='+keyword;
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
}else if (window.ActiveXObject){
req = new ActiveXObject('Microsoft.XMLHTTP');
}
if(req){
req.open("POST",url, true);
req.onreadystatechange = complete;
req.send(null);
}
}else{
var leng=tb.rows.length;
for(var i=0;i<leng;i++){
tb.deleteRow(0);
}
}
}
function complete(){
if (req.readyState == 4) {
if (req.status == 200) {
var strResult = unescape(req.responseText);
var arrResult = strResult.split("@@@");
var tb=document.getElementById('tb');
var leng=tb.rows.length;
for(var i=0;i<leng;i++){
tb.deleteRow(0);
}
for(var i=0;i<arrResult.length;i++){
var row=tb.insertRow();
var cell=row.insertCell();
cell.innerHTML="<a href=search?keyword="+arrResult[i]+"><font>"+arrResult[i]+"</font></a>";
}
}else{
alert(req.status);
}
}
}
</script>
页面初始化取到数据库中数据
<%
String str = "取数据库中变量";
%><input type="hidden" name="h1" value="<%=str%>">
JS中
var str = "<=str%>";
或者
从隐藏域h1中取值
var str =document.forms[0].h1.value;
String str1 = "request获取属性1";
String str2 = "request获取属性2";
%>
JS中 var my_array = new Array(); my_array[0] = "<%=str1%>";
my_array[1] = "<%=str2%>";
当然,有点笨拙,找更简单的方法去
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String[] str = new String[10];
for(int i=0;i<str.length;i++){
str[i] = String.valueOf(i);
}
%>
<script type="text/javascript">
<!--
var my_array = new Array();
<%
for(int i=0;i<10;i++){
%>
my_array[<%=i%>] = " <%=str[i]%>";
alert(my_array[<%=i%>]);
<%
}
%>
//-->
</script>
通过ajax把DB返回的data放到数组中
<%
String[][] dwList2 = (String[][])request.getAttribute("dw2");//һ¼¶µ¥λ
%><script language="javascript">
<%
if(dwList2!=null && dwList2.length>0){
out.println("var dwList2 = new Array();"); //js 中的数据
for(int i=0;i<dwList2.length;i++){
out.println("dwList2["+i+"]=new Array();");
out.println("dwList2["+i+"][0]='"+dwList2[i][0]+"';");
out.println("dwList2["+i+"][1]='"+dwList2[i][1]+"';");
out.println("dwList2["+i+"][2]='"+dwList2[i][2]+"';");
}
}
%></script>
<body>
<% request.setAttribute("name","XYZ"); %>
<% request.getRequestDispatcher("2.jsp").forward(request,response); %>
</body>2.jsp
<body>
<%=request.getAttribute("name") %>
<br>
<script type="text/javascript">
document.write("${name}");
</script>
</body>测试过,可用。
<script type="text/javascript">
<%
if (projectname!=null&&projectname.length>0)
{
out.println("var projectname = new Array(new Array(),new Array());");
for(int i=0;i<projectname.length;i++)
{
out.println("projectname["+i+"][0] = "+projectname[i][0]+";");
out.println("projectname["+i+"][1] = "+projectname[i][1]+";");
}
}
%>
function show()
{
//var projectname = new Array(new Array(),new Array() );
//projectname[0][1] = "asdf";
alert("${projectname[1][0]}");
}
</script>不知道是不是我这个哪写错了
<body>
<script type="text/javascript">
document.write("${arr[0][0]}");
document.write("....");
document.write("${arr[0][1]}");
</script>
</body>test.jsp
<body>
<%
String[][] str = new String[2][2];
str[0][0] = "hello";
str[0][1] = "world";
request.setAttribute("arr",str);
%><% request.getRequestDispatcher("test1.jsp").forward(request,response); %>
</body>
var pro_array = new Array();
<%
int project_count=0;
Collection projects1=(Collection)request.getAttribute("project");
Iterator it = projects1.iterator();
while(it.hasNext())
{
Sqlconnect project=(Sqlconnect)it.next();
%>
pro_array["<%=project_count%>"]= new Array(new Array());
pro_array["<%=project_count%>"][0] = "<%=project.getProject_id()%>";
pro_array["<%=project_count%>"][1] = "<%=project.getProject_name()%>";
<%
project_count++;
}
%>
</script>
servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String sqlstate= "select * from z_project";
ResultSet result=null;
PreparedStatement select_stm;
Collection<Sqlconnect> ret=new ArrayList<Sqlconnect>();
try {
select_stm = conn.prepareStatement(sqlstate,java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
result=select_stm.executeQuery();
int project_count =0;
if (result.next())
{
project_count = result.getInt(1);
result.close();
}
if (project_count>0)
{
result=select_stm.executeQuery();
while(result.next())
{
String projectid = result.getString(1);
String projectname = result.getString(2);
Sqlconnect beanObj = new Sqlconnect();
beanObj.setProject_id(projectid);
beanObj.setProject_name(projectname);
ret.add(beanObj);
}
result.close();
}
select_stm.close();
request.setAttribute("project", ret);
RequestDispatcher requestDispatcher = request.getRequestDispatcher("main.jsp");
requestDispatcher.forward(request, response);
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}// TODO Auto-generated method stub
后来我这样实现了。