如何在JSP/Servlet中更新数据 [英] How to update data in JSP/Servlet
本文介绍了如何在JSP/Servlet中更新数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是JSP/Servlet的初学者,被困住了.我想编辑一个表单,但是修改后我的页面为空.
I am beginner in JSP/Servlet and I am stuck. I would like to edit a form but my page is empty after the modification.
这是一个例子
1)我点击udpate
1) I click on udpate
2)我更改值
3)当我单击更新"时,我有一个空白页,我不理解问题所在?
3) When I click on Update, I have an empty page, I don't understand the problem?
这是我的servlet(UserHandler)
Here is my servlet (UserHandler)
public class UserHandler extends HttpServlet {
private static String INSERT = "/user.jsp";
private static String Edit = "/edit.jsp";
private static String UserRecord = "/listUser.jsp";
private UserDao dao;
public UserHandler() {
super();
dao = new UserDao();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String forward="";
String action = request.getParameter("action");
if (action.equalsIgnoreCase("delete"))
{
int userId = Integer.parseInt(request.getParameter("userId"));
dao.removeUser(userId);
forward = UserRecord;
request.setAttribute("users", dao.getAllUsers());
}
else if (action.equalsIgnoreCase("editform")){
forward = Edit;
}
else if (action.equalsIgnoreCase("edit")){
int userId = Integer.parseInt(request.getParameter("userId"));
UserBean user = dao.getUserById(userId);
request.setAttribute("user", user);
} else if (action.equalsIgnoreCase("listUser")){
forward = UserRecord; request.setAttribute("users", dao.getAllUsers());
} else {
forward = INSERT;
} RequestDispatcher view = request.getRequestDispatcher(forward);
view.forward(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String redirect="";
String action = request.getParameter("action");
if(action.equalsIgnoreCase("insert"))
{
UserBean user = new UserBean();
user.setfName(request.getParameter("firstName"));
user.setlName(request.getParameter("lastName"));
String userid = request.getParameter("userid");
if(userid == null || userid.isEmpty())
{
dao.addUser(user);
}
else {
user.setUserid(Integer.parseInt(userid));
dao.editUser(user);
}
RequestDispatcher rd = request.getRequestDispatcher(UserRecord);
request.setAttribute("users", dao.getAllUsers());
rd.forward(request, response);
}
}
还有我的edit.jsp
And my edit.jsp
<body>
<%
UserBean user = new UserBean();
%>
<%
UserDao dao = new UserDao();
%>
<form method="POST" action='UserHandler' name="frmEditUser"><input
type="hidden" name="action" value="edit" /> <%
String uid = request.getParameter("userId");
if (!((uid) == null)) {
int id = Integer.parseInt(uid);
user = dao.getUserById(id);
%>
<table>
<tr>
<td>First Name</td>
<td><input type="text" name="firstName" value="<%=user.getfName()%>"/></td>
</tr>
<tr>
<td>Last Name</td>
<td><input type="text" name="lastName" value="<%=user.getlName()%>"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Update" /></td>
</tr>
</table>
<%
} else
out.println("ID Not Found");
%>
</form>
</body>
非常感谢您的帮助.
推荐答案
如果您的数据库已更新,我猜问题出在String UserRecord ="/listUser.jsp"
if your db updated i guess problem at String UserRecord = "/listUser.jsp"
这篇关于如何在JSP/Servlet中更新数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文