Имеется задание создать сервлет: 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();
Виртуальный выделенный сервер (VDS) становится отличным выбором
Получил вот такое задание: Написать программы сканер портов+проверка сканироваия с сохранением логов (с какого адреса, когда и по какому...
Разработать программу, позволяющую играть в словаПравила: выбирается одна буква, игрок и компьютер должны по очереди называть слова на эту...
Есть сайт где пользователь может задавать вопросы другим пользователям (одному или нескольким)У меня есть таблыцы: пользователи-tb_users и вопросы-tb_question,...