如何在JSP/Servlet中更新数据 [英] How to update data in JSP/Servlet

查看:357
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆