gpt4 book ai didi

java - 将java数组打印成HTML代码

转载 作者:行者123 更新时间:2023-11-28 19:54:09 25 4
gpt4 key购买 nike

好的。这是我的完整代码。我的问题是,当尝试在我的 javascript/html 代码中使用字符串数组“commentarios”时,我不知道如何“传递”整个数组。我已经使用小程序工作了几个月,但我从来没有必要将数组传递给“类似 html 的代码”。我该如何解决这个问题?谢谢

import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ValoracionesDos extends HttpServlet implements SingleThreadModel{
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{
PrintWriter toClient = res.getWriter();
int numRows=3;
String comentarios[] = new String[numRows];
comentarios[0]="hello";
comentarios[1]="me";
comentarios[2]="bye";
int i=0;
toClient.println("<html>");
toClient.println("<body>");
toClient.println("<script Language=JavaScript>");
toClient.println("var len = " + numRows+";");
toClient.println("var myrest = new Array();");
toClient.println("for(i = 0; i < len; i++){");
toClient.println("myrest[i]='"+ comentarios[i]+"';");
toClient.println("}");
toClient.println("var myTable= '<table border=10 cellspacing=3 cellpadding=3>'");
toClient.println("for(i = 0; i < " + numRows + "; i++){");
toClient.println("myTable+='<tr>';");
toClient.println("myTable+='<td> Restaurante: </td>';");
toClient.println("myTable+='<td>'+"+"myrest[i]"+"+'</td>';");
toClient.println("myTable+='</tr>';");
toClient.println("}");
toClient.println("myTable+='</table>';");
toClient.println("document.write(myTable);");
toClient.println("</script>");
toClient.println("</body>");
toClient.println("</html>");

}

}

问题在于,名为“myrest”的 JavaScript 数组始终填充有“commentarios”(Java 字符串数组)的第一个元素。我该如何解决这个问题。谢谢

最佳答案

首先要做一件事:无论您在做什么,无论您制作 applet、servlet 还是任何其他 Java 应用程序,永远都不是一个好主意通过附加字符串的 HTML。 永远不要这样做!但是当我开始学习时,我也做了同样的事情 (:D),今天我对此笑了。因此,假设您想学习 Java 并且需要一些提示...

你的问题是你的 JavaScript 中的循环(你生成的)与你的 Java 数组无关。当然。您所做的就是从 Java 代码创建另一个程序(JavaScript 程序)。这两个程序(您的 Java 代码和它生成的 JavaScript)是两个完全不同的应用程序。所以你不能在 JavaScript 中迭代 Java 数组(就像你尝试的那样)。

相反,您应该在 Java 中迭代 Java 数组并生成 JavaScript 代码。这是它的样子(我没有测试它,它是伪代码):

toClient.println("var myrest = new Array();"); 
for(String element: myArray)
toClient.println("myrest.append(" + element + ");");

关于java - 将java数组打印成HTML代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22892675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com