Нужна помощь с решением проблемы. При нажатии на кнопку редактирования, нужные данные должны отображаться в полях (input text). Имеется сервлет для редактирования (так же для добавления):
Java |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| @WebServlet("/save.jhtml")
public class SaveServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.getRequestDispatcher("/WEB-INF/jsp/saveUser.jsp").forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String id = req.getParameter("id");
String name = req.getParameter("nameUser");
String password = req.getParameter("passUser");
req.setAttribute("userEditName", name);
req.setAttribute("userEditPassword", password);
User searchUser = DatabaseSimulation.searchUser(id, DatabaseSimulation.model);
if (name.equals("") || password.equals("") || (name.equals("") && password.equals(""))) {
req.setAttribute("errors", "Enter your data!");
}
if (id == null && !DatabaseSimulation.model.contains(searchUser)) {
int idUser = DatabaseSimulation.getCountUser();
User secondUser = new User(String.valueOf(idUser), name, password);
DatabaseSimulation.model.add(secondUser);
req.setAttribute("message", "You have successfully added your data!");
} else {
searchUser.setName(name);
searchUser.setPassword(password);
req.setAttribute("message", "You have successfully edited your data!");
req.getRequestDispatcher("/WEB-INF/jsp/saveUser.jsp").forward(req, resp);
}
req.getRequestDispatcher("/WEB-INF/jsp/saveUser.jsp").forward(req, resp);
}
} |
|
Jsp-страничка, с возможностью редактирования и удаления:
Java |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<link rel="stylesheet" href="../../css/style.css">
<script src="../../js/style.js"></script>
<div class="container">
<form method="post" action="/save.jhtml">
<c:if test="${user != null}">
<div class="secondContainer">
<table border='1'>
<tr>
<td>Id</td>
<td>Login</td>
<td>Password</td>
<td>Edit</td>
<td>Delete</td>
</tr>
<c:forEach var="users" items="${user}">
<tr>
<td><c:out value="${users.id}"/></td>
<td><c:out value="${users.name}"/></td>
<td><c:out value="${users.password}"/></td>
<td>
<a href='
<c:url value="/save.jhtml" >
<c:param name="id" value="${users.id}"/>
</c:url>'>
<img src='https://img.icons8.com/dotty/50/000000/edit.png' title='Edit a user'/>
</a>
</td>
<td>
<a href='
<c:url value="/deleteuser.jhtml" >
<c:param name="id" value="${users.id}"/>
</c:url>'>
<img src='https://img.icons8.com/dotty/50/000000/delete-sign.png' title='Remove user'/>
</a>
</td>
</tr>
</c:forEach>
</table>
</c:if>
</div>
</form>
</div> |
|
И Jsp-страница с формой для добавления или редактирования:
Java |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Add and edit user</title>
<link rel="stylesheet" href="../../css/style.css">
<script src="../../js/style.js"></script>
</head>
<body>
<div class="titleFourDiv">
<form method="post">
<div class="login">
<p class="p">Add and edit user</p>
<input style="visibility: hidden" type="text" class="userInput" name="idUser" value='${user.id}'/>
<p><label>Name:
<input type="text" class="userInput" name="nameUser" value='${userEditName}'/>
</label></p>
<p><label>Password:
<input type="password" class="userInput" name="passUser" value='${userEditPassword}'/>
</label></p>
<c:if test="${not empty errors}">
<div class="error"><c:out value="Enter all data!"/></div>
</c:if>
<c:if test="${not empty message}">
<div class="message"><c:out value="${message}"/></div>
</c:if>
</br>
<button class="secondButtonUser" type="submit">Save</button>
</div>
</form></br>
<p><a href="/userpage.jhtml"><img src='https://img.icons8.com/dotty/50/000000/back.png'
title='Back to list'/></a></p>
</div>
</body>
</html> |
|
Так вот, нужно, чтобы при нажатии кнопки "Редактировать" данные отобразились в полях. Заранее спасибо за помощь!