如何将值从一个jsp传递到另一个jsp以更新数据库 [英] how to pass values from one jsp to another jsp to update database

查看:73
本文介绍了如何将值从一个jsp传递到另一个jsp以更新数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有LookupStudent.jsp可以根据某些条件搜索并列出学生.

I have LookupStudent.jsp to search and list student based on some condition.

此jsp具有到另一个jsp UpdateStudent.jsp的引用链接.

this jsp has a ref link to a another jsp, UpdateStudent.jsp.

我想

  1. 根据来自LookupStudent.jsp的学生ID在UpdateStudent.jsp中显示学生
  2. 根据步骤1中所做的更改更新表.

请帮助您实现这一目标吗?

Please can you help how to acheive this?

LookupStudent.jsp

LookupStudent.jsp

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Lookup Students</title>
    </head>

    <body class="body">

        <form method="get" action="LookupStudentServlet">

            <table border="0">
                <tr align="left" valign="top">
                    <td>Student Name:</td>
                    <td><select name="fnameOperator">
                            <option value="Eq">Equals</option>
                            <option value="Sw">Starts With</option>
                            <option value="Ew">Ends With</option>
                            <option value="Co">Contains</option>
                    </select></td>
                    <td><input type="text" name="fname" /></td>
                </tr>
                <tr align="left" valign="top">
                    <td></td>
                    <td><input type="submit" name="submit" value="submit" /></td>
                </tr>
            </table>

        </form>

        <!-- List results -->

        <c:if test="${not empty studentList}">
            <table border="1" cellspacing="0" cellpadding="0" :>
                <tr>
                    <th>ID</th>
                    <th>Title</th>
                    <th>First Name</th>
                    <th>Last Name</th>
                </tr>
                <c:forEach var="students" items="${studentList}">
                    <tr>
                        <td>${students.studentID}</td>
                        <td>${students.title}</td>
                        <td>${students.firstName}</td>
                        <td>${students.lastName}</td>
                        <td><c:url value="UpdateStudent.jsp" var="url">
                                <c:param name="StudentID" value="${students.studentID}" />
                            </c:url> <a href="${url}">edit</a>
                    </tr>
                </c:forEach>
            </table>
        </c:if>

        <p>There are ${fn:length(studentList)} results.</p>
    </body>
    </html>

LookupStudentServlet.java

LookupStudentServlet.java

    package org.cms.controller;

    import java.io.IOException;
    import java.sql.SQLException;
    import java.util.List;

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.cms.model.StudentDAO;

    /**
     * Servlet implementation class ListStudent
     */
    @WebServlet("/LookupStudentServlet")
    public class LookupStudentServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;


        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            try {
                String fnameOperator = request.getParameter("fnameOperator");

                //System.out.println(fnameOperator);

                String fname = request.getParameter("fname");
                String condition = "where 1=1 ";

                if (fname!=null||fname.length()>0) {
                    if (fnameOperator.equalsIgnoreCase("Eq")) {
                        condition =condition+ "and first_name = '"+fname+"'";
                    }
                    else if (fnameOperator.equalsIgnoreCase("Sw")) {
                        condition =condition+ "and first_name like '"+fname+"%'";
                    }
                    else if (fnameOperator.equalsIgnoreCase("Ew")) {
                        condition =condition+ "and first_name like '%"+fname+"'";
                    }
                    else if (fnameOperator.equalsIgnoreCase("Co")) {
                        condition =condition+ "and first_name like '%"+fname+"%'";
                    }

                }       

                //System.out.println(condition);

                StudentDAO student = new StudentDAO();
                List<StudentDAO> students = student.lookupStudent(condition);
                request.setAttribute("studentList", students);
            } catch (SQLException sqle) {
                request.setAttribute("error", "Retrieving Students failed.");
                sqle.printStackTrace();
            }
         catch (Exception e) {
                e.printStackTrace();
        }
            finally {}
            request.getRequestDispatcher("LookupStudent.jsp").forward(request, response);
        }

        }

UpdateStudent.jsp

UpdateStudent.jsp

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Lookup Students</title>
    </head>
    <link rel="stylesheet" href="css/style.css" type="text/css"></link>

    <body class="body">


        <form method="get" action="UpdateStudent" class="form">


            <table border="0">
                <tr align="left" valign="top">
                    <td>Student ID:</td>
                    <td><input type="text" name="StudentID" /></td>
                </tr>
                <tr align="left" valign="top">
                    <td>Title:</td>
                    <td><input type="text" name="Title" /></td>
                </tr>
                <tr align="left" valign="top">
                    <td>First Name:</td>
                    <td><input type="text" name="Fname"  /></td>
                </tr>
                <tr align="left" valign="top">
                    <td>Last Name:</td>
                    <td><input type="text" name="Lname"  /></td>
                </tr>
                <tr align="left" valign="top">
                    <td></td>
                    <td><input type="submit" name="submit" value="submit"
                        class="fb8" /></td>
                </tr>
            </table>



        </form>


    </body>
    </html>

UpdateStudentServlet.java

UpdateStudentServlet.java

    package org.cms.controller;

    import java.io.IOException;
    import java.sql.SQLException;
    import java.util.List;

    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.cms.model.StudentDAO;

    /**
     * Servlet implementation class ListStudent
     */
    @WebServlet("/UpdateStudentServlet")
    public class UpdateStudentServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;


        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            try {

                int studentID;
                studentID = Integer.parseInt(request.getParameter("StudentID"));
                //System.out.println(fnameOperator);
                String condition = "where 1=1";
                condition = condition+"and student_id = "+studentID;
                System.out.println(condition);
                StudentDAO student = new StudentDAO();
                List<StudentDAO> students = student.lookupStudent(condition);
                request.setAttribute("studentList", students);
            } catch (SQLException sqle) {
                request.setAttribute("error", "Retrieving Students failed.");
                sqle.printStackTrace();
            }
         catch (Exception e) {
                e.printStackTrace();
        }
            finally {}
            request.getRequestDispatcher("UpdateStudent.jsp").forward(request, response);
        }

        }

推荐答案

如果仅涉及问题,则将参数从一个jsp传递到另一个. 您有多种方法.您可以使用类似的东西

If the question is solely concerned passing parameter from one jsp to another. You have got multiple ways. You can use something like this

 request.setAttribute("parameterName")

或 您可以使用诸如和标签之类的东西.这样你可以 传递参数.甚至您的代码似乎都喜欢传递参数,这是什么样的 你得到的例外? 谢谢, 本

OR You can use something like and tags. This way you can pass the parameters. Even your code seems like passing the parameter, what kind of exception you are getting? Thanks, Ben

这篇关于如何将值从一个jsp传递到另一个jsp以更新数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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