Имеется задание создать сервлет: UserUpdateServlet
doGet URL /edit?id={userId} - открывает форму для редактирования с заполенными полями.
До этого создавал сервлет для отображения таблицы пользователей и сервлет открытия формы для создания пользователя. Вопрос в том, как мне средствами Java работать с шаблоном {userId} , как подставить ид пользователя вместо userId? Файлы .jsp использовать запрещено по заданию, все делаю через writer.
Вот как выглядит метод get в сервлете
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.setContentType("text/html");
PrintWriter writer = new PrintWriter(resp.getOutputStream());
int id = Integer.parseInt(req.getParameter("Id"));
User user = service.findById(id);
writer.print("<title>Обновление пользователя</title>\n" +
"<body>\n" +
"<form action=\"http://localhost:8080/items/edit?Id={userId}\" " +
"method=\"post\" name=\"update\" id=\"form\"\n" +
"style=\"text-align: center\">\n" +
" Id: \n" +
" <p><input type=\"text\" name=\"Id\" id=\"Id\" value="+user.getId()+" size=\"25\" />\n" +
" </p>\n" +
" Name:\n" +
" <p><input type=\"text\" name=\"name\" id=\"name\" value="+user.getName()+" size=\"25\" />\n" +
" </p>\n" +
" Login:\n" +
" <p><input type=\"text\" name=\"login\" id=\"login\" value="+user.getLogin()+" size=\"25\" />\n" +
" </p>\n" +
" Email:\n" +
" <p><input type=\"email\" name=\"email\" id=\"email\" value="+user.getEmail()+" size=\"25\" />\n" +
" </p>\n" +
" <p><input name=\"submit\" type=\"submit\" id=\"submit\" value=\"Сохранить\" />\n" +
" </p>\n" +
"</form>\n" +
"</body>\n");
writer.flush();
Просто подставь id который ты достал из request'а. Это безопасно, так как это целое число, еще и примитив. Что-то такое будет
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.setContentType("text/html");
PrintWriter writer = new PrintWriter(resp.getOutputStream());
int id = Integer.parseInt(req.getParameter("Id"));
User user = service.findById(id);
writer.print("<title>Обновление пользователя</title>\n" +
"<body>\n" +
"<form action=\"http://localhost:8080/items/edit?Id=" + id + "\" " +
"method=\"post\" name=\"update\" id=\"form\"\n" +
"style=\"text-align: center\">\n" +
" Id: \n" +
" <p><input type=\"text\" name=\"Id\" id=\"Id\" value="+user.getId()+" size=\"25\" />\n" +
" </p>\n" +
" Name:\n" +
" <p><input type=\"text\" name=\"name\" id=\"name\" value="+user.getName()+" size=\"25\" />\n" +
" </p>\n" +
" Login:\n" +
" <p><input type=\"text\" name=\"login\" id=\"login\" value="+user.getLogin()+" size=\"25\" />\n" +
" </p>\n" +
" Email:\n" +
" <p><input type=\"email\" name=\"email\" id=\"email\" value="+user.getEmail()+" size=\"25\" />\n" +
" </p>\n" +
" <p><input name=\"submit\" type=\"submit\" id=\"submit\" value=\"Сохранить\" />\n" +
" </p>\n" +
"</form>\n" +
"</body>\n");
writer.flush();
Сборка персонального компьютера от Artline: умный выбор для современных пользователей