getParameter()函數括弧中的參數是從頁面中傳過來的,比如 edit.jsp中userid:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <form action="update.do" method="post"> <input type="hidden" name="userId" value="${user.id}" /> <table> <tr> <td>使用者名稱:</td> <td><input type="text" name="name" value="${user.name}"/></td> </tr> <tr> <td>密碼:</td> <td><input type="text" name="password" value="${user.password}"/></td> </tr> <tr> <td colspan="2"> <input type="submit" value="提交"/> </td> </tr> </table> </form> </body></html>
下面是控制層:
package com.demo.controller;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.demo.dao.UserDao;import com.demo.entity.User;public class UpdateController extends HttpServlet { protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String ids = req.getParameter("userId").trim(); Long id = (long) 0; if (ids != null) { id = Long.parseLong(ids); } String name = req.getParameter("name").trim(); String password = req.getParameter("password").trim(); User user = new User(); user.setId(id); user.setName(name); user.setPassword(password); UserDao userDao = new UserDao(); userDao.updateUser(user); resp.sendRedirect("list.do"); }}
其中
String ids = req.getParameter("userId").trim();就是得到了頁面中userid的值 備忘:trim()方法是為了去掉前後空格