我想把Java 查询到的List 结果集来赋给JS变量,这样
可以吗?

解决方案 »

  1.   

    看来你对WEB B/S结构的题解还不清楚,JAVA是要WEB服务器端运行,而JS是在客户端运,肯定是不能把Java 查询到的List 结果集来赋给JS变量,你只能把它在JSP中取出来放到JS的ARRAY中.
      

  2.   

    给你一段 ArrayList 应用代码块,你看一看~  大家也帮我挑一下问题~~
     无参数的
        public ArrayList getPageinfo() {
            ResultSet rs=null;
            ArrayList arrayPage=new ArrayList();  
            String sql = "select pageid,pagename,pageaddress,pagefontcolor,pagequote,pagefontembellish from pageinfo";
            db.setConn();
            db.getPstt(sql);
            rs=db.getRs();
            try {
                while (rs.next()) {
                    ArrayList pagelist = new ArrayList();
                    pagelist.add(rs.getString("pageid"));
                    pagelist.add(rs.getString("pagename"));
                    pagelist.add(rs.getString("pageaddress"));
                    pagelist.add(rs.getString("pagefontcolor"));
                    pagelist.add(rs.getString("pagequote"));
                    pagelist.add(rs.getString("pagefontembellish"));
                    arrayPage.add(pagelist);
                }return arrayPage;
            } catch (SQLException e) {
                e.printStackTrace();
            }return arrayPage;    }
    下面是页面取值的<%@ page import="java.util.ArrayList" %>
    <%@ page import="nanhu.comm.defaultinfo.readinfo" %>
    <%@ page import="nanhu.comm.defaultinfo.pageinfoBean" %>
    <%
    String pageid="1";
    String err="对不起,对不起,您要浏览的页面正在维护中...";
    pageinfoBean pageinfo=new pageinfoBean();
    int count=pageinfo.getCount();
    readinfo info=new readinfo();
    ArrayList arrayOlyTit=(ArrayList)info.getNewsinfo(pageid);
    %>
    <%
    String path=request.getContextPath();
    %>
    <%
    int arrcount=arrayOlyTit.size();
    if(arrcount==0){
    %>
    <%=err%>
    <%}
    else if(arrcount>count){
      for(int i=0;i<count;i++){
      ArrayList listOlyTit=(ArrayList)arrayOlyTit.get(i);
      Object titName=listOlyTit.get(1);
      String tit=titName.toString();
      if(tit.length()>10){
        String title=tit.substring(0,10);
        title=title+"...";
    %><input type="hidden" name="pageid" value="<%=pageid%>"/>
    <input type="hidden" name="titid" value="<%=listOlyTit.get(0)%>"/>
    <input type="hidden" name="actid" value="<%=listOlyTit.get(11)%>"/>   <%=listOlyTit.get(6) %><a href="<%=path%>/indexheadOlyAction.do?pageid=<%=pageid%>&titid=<%=listOlyTit.get(0)%>&actid=<%=listOlyTit.get(11)%>" name="olytit" target="_blank"><%=listOlyTit.get(5)%><%=listOlyTit.get(6) %><%=title%></a><%=listOlyTit.get(7) %><%=listOlyTit.get(7) %>
    <%}else{
    %><input type="hidden" name="pageid" value="<%=pageid%>"/>
    <input type="hidden" name="titid" value="<%=listOlyTit.get(0)%>"/>
    <input type="hidden" name="actid" value="<%=listOlyTit.get(11)%>"/>
       <%=listOlyTit.get(6) %><a href="<%=path%>/indexheadOlyAction.do?pageid=<%=pageid%>&titid=<%=listOlyTit.get(0)%>&actid=<%=listOlyTit.get(11)%>" name="olytit" target="_blank"><%=listOlyTit.get(5)%><%=listOlyTit.get(6) %><%=titName %></a><%=listOlyTit.get(7) %><%=listOlyTit.get(7) %>
    <%}%>
    <%}%>
    <%}
    else if(arrcount<=count){
      for(int i=0;i<arrcount;i++){
      ArrayList listOlyTit=(ArrayList)arrayOlyTit.get(i);
      Object titName=listOlyTit.get(1);
      String tit=titName.toString();
      if(tit.length()>10){
      String title=tit.substring(0,10);
      title=title+"...";
      %><input type="hidden" name="pageid" value="<%=pageid%>"/>
    <input type="hidden" name="titid" value="<%=listOlyTit.get(0)%>"/>
    <input type="hidden" name="actid" value="<%=listOlyTit.get(11)%>"/>  <%=listOlyTit.get(6) %><a href="<%=path%>/indexheadOlyAction.do" name="olytit" target="_blank"><%=listOlyTit.get(5)%><%=listOlyTit.get(6) %><%=title%></a><%=listOlyTit.get(7) %><%=listOlyTit.get(7) %>
    <%}else{%><input type="hidden" name="pageid" value="<%=pageid%>"/>
    <input type="hidden" name="titid" value="<%=listOlyTit.get(0)%>"/>
    <input type="hidden" name="actid" value="<%=listOlyTit.get(11)%>"/>
      <%=listOlyTit.get(6) %><a href="<%=path%>/indexheadOlyAction.do" name="olytit" target="_blank"><%=listOlyTit.get(5)%><%=listOlyTit.get(6) %><%=titName %></a><%=listOlyTit.get(7) %><%=listOlyTit.get(7) %>
    <%}%>
    <%}%>
    <%}%>呵呵,写得不太好~~ 但肯定是运转正常的~  顺便也帮我看看有什么问题
      

  3.   

    可以的,嵌套一下,因为java代码片段在服务器端运行,运行生成的结果放在生成的静态页面中再发送到用户浏览器端,浏览器再运行js代码,比如:
    <script language="javascript">
       var a="<%out.print("hello");%>";
    </script>
    实际上到了用户浏览器端就会执行:
    <script language="javascript">
       var a="hello";
    </script>