Как получить доступ к массивам Java в коде HTML - PullRequest
0 голосов
/ 04 июля 2018

Я создаю программу Tic-Tac-Toe с использованием HTML и Java. После ввода пользователя сервер переходит к сервлету, который возвращает значение обратно в массив, а затем перенаправляет сервер обратно на страницу HTML.

HTML-код (с таблицей Tic-Tac-Toe, которой требуются значения для ввода в записи):

<form action="servlet1" method="get">

<br><br> <table>

  <tr>
    <td><input type="radio" name="input" value="0"> </td>
    <td><input type="radio" name="input" value="1"> </td>
    <td><input type="radio" name="input" value="2"> </td>
  </tr>
  <tr>
    <td><input type="radio" name="input" value="3"> </td>
    <td><input type="radio" name="input" value="4"> </td>
    <td><input type="radio" name="input" value="5"> </td>
  </tr>
  <tr>
    <td><input type="radio" name="input" value="6"> </td>
    <td><input type="radio" name="input" value="7"> </td>
    <td><input type="radio" name="input" value="8"> </td>
  </tr> 
</table>
<br><input type="submit" value="Turn Completed" />
 </form>

Код Java-сервлета:

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/servlet1")
public class Servlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    public void doGet(HttpServletRequest req, HttpServletResponse resp)     throws ServletException, IOException {

        String[] board = new String[9];
        for (int i = 0; i < 9; i ++) {
            board[i] = "<input type=\"radio\" name=\"input\" value=\"" + i + "\">";
        }



        int loc = Integer.parseInt(req.getParameter("input"));
        board[loc] = "X";

        resp.setStatus(resp.SC_MOVED_TEMPORARILY);
        resp.setHeader("Location", "index.html");

    }
}

Как мне получить значение board в моем Java-коде, чтобы каждый раз передавать его на страницу HTML и отображать X в зависимости от пользовательского ввода? Есть ли способ получить доступ к board в программе HTML и использовать board [0], board [1] и т. Д. Для заполнения табличных значений в коде HTML?

1 Ответ

0 голосов
/ 04 июля 2018

Вы должны сформировать ответ, вот простой пример:

public void doGet(HttpServletRequest req, HttpServletResponse response)
    throws ServletException, IOException {

    // set content type
    response.setContentType("text/html");

    // get response writer
    PrintWriter writer = response.getWriter();

    // build HTML code
    String htmlResponse = "<html>";
    htmlResponse += "<h2>This is my Response example:</h2>";    
    htmlResponse += "Some Text as an example.";
    htmlResponse += "</html>";

    // return response
    writer.println(htmlResponse);
}
...