好的。這是我的完整代碼。我的問題是,當試圖在我的javascript/html代碼中使用字符串數組「comentarios」我不知道如何「傳遞」整個數組。我一直在使用applet工作幾個月,但是我從來不必將數組傳遞給「html like code」。我該如何解決這個問題?感謝將java數組打印成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>");
}
}
的問題是,被叫JavaScript數組「myrest」總是與的了「意見」(java的字符串數組)的第一個元素填充。我該如何解決這個問題。謝謝
我不確定,但你似乎在這裏感到困惑。雖然我可能錯了。 Java小程序是在瀏覽器中運行的小程序,它們仍然是Java程序。他們不能呈現HTML響應。 HTML響應應該由瀏覽器呈現。對於Java應用程序將響應發送回瀏覽器並運行,您需要用Java編寫Servlet。讓我知道這是否有道理。 –
是的。我有一個瀏覽器調用的.class(來自.java) – karl71
你是在tomcat中運行還是在瀏覽器中運行applet?你能發佈完整的課程文件嗎? –