Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
是否将javascript变量分配给jsp代码?_Javascript_Jsp - Fatal编程技术网

是否将javascript变量分配给jsp代码?

是否将javascript变量分配给jsp代码?,javascript,jsp,Javascript,Jsp,我在jsp中有4个arraylist,我想从javascript函数中获取列表元素 从jsp arraylist中获取一个元素似乎没有问题 但我不知道如何将多个或所有元素从jsp arraylist移动到javascript代码 下面是我的代码 <script> function makeTable(){ for(c=0;c<row_num;c++){ row[c]=document.createElement('tr'); f

我在jsp中有4个arraylist,我想从javascript函数中获取列表元素

从jsp arraylist中获取一个元素似乎没有问题

但我不知道如何将多个或所有元素从jsp arraylist移动到javascript代码

下面是我的代码

<script>
    function makeTable(){
    for(c=0;c<row_num;c++){
        row[c]=document.createElement('tr'); 
        for(k=0;k<cell_num;k++) {
            cell[k]=document.createElement('td');
            cont = document.createElement('a');
            cont.href="./bbs_view.jsp?count=" + c;
            cont.innerHTML ="<%=title.get(0)%>";
            cell[k].appendChild(cont);
            row[c].appendChild(cell[0]);
        }
    }
}
</script>

函数makeTable(){
对于(c=0;cNo

JSP在服务器上运行。它输出一些文本。浏览器将该文本解释为JavaScript。没有返回路径


相反,使用编码器以JavaScript友好的格式提供数组。在脚本中使用该编码器,获得JavaScript数组,然后循环使用。

在scriplet中发出JavaScript数组(assumin titles是字符串的java集合),并使用数组的js对应项

<script>

var jsArray = [];

<% int i = 0; foreach (String iterat : titles) { %>

jsArray[<%= i %>] = '<%= iterat %>';

<% i++; } %>
</script>

var jsArray=[];
jsArray[]='';
基本上是不合法的(最好在自定义标记中包含此项,但应该有效)

注意:即时输入可能会导致语法错误^^


大迈克

好的..我终于成功了

对于那些像我一样有同样问题的人,我想留下我的代码

<%@import="java.sql.*, java.util.ArrayList"%>

<%  
class bbsData{
    String title;
    String date;
    String body;
    int count;
}

ArrayList<bbsData> bbslist = new ArrayList<bbsData>();
    try{
     rs=stmt.executeQuery("select * from bbsdata");
     while(rs.next()){
        bbsData bbsOb = new bbsData();
        bbsOb.date = rs.getString(1);
        bbsOb.title= rs.getString(2);
        bbsOb.body = rs.getString(3);
        bbsOb.count = Integer.parseInt(rs.getString(4));
        bbslist.add(bbsOb);
    }    
    stmt.close();
    Conn.close();        
}catch(Exception e){
    out.println(e);
} 
<script>

var jsArray = [];

function dbData(date, title, body, count){  
   this.date = date;
   this.title = title;
   this.body = body;
   this.count = count;
}
function setJsArry(){
    <% int i = 0;
       for (bbsData iterat : bbslist) {
           iterat = new bbsData();
           iterat = bbslist.get(i);
     %>
    date = '<%= iterat.date %>'; 
    title = '<%= iterat.title %>';
    body = '<%= iterat.body %>';
    count = '<%= iterat.count %>';
    jsArray[<%=i%>] = new dbData(date, title, body, count);
       <%i++; } %>

}
function makeTable(){
    setJsArry();
    for(c=0;c<row_num;c++){
    row[c]=document.createElement('tr'); 
       for(k=0;k<cell_num;k++) {
          cell[k]=document.createElement('td');
          cont = document.createElement('a');
          cont.href="./bbs_view.jsp?count=" + c;
          cont.innerHTML =jsArray[c].title;
          cell[k].appendChild(cont);
          row[c].appendChild(cell[k]);
      }
  }
}
</script>