如何使用Spring JDBC检索记录

时间:2016-04-28 07:10:53

标签: java spring-mvc jdbc

我正在尝试搜索记录并使用Spring JDBC在JSP中显示它。 我现在在浏览器上遇到以下错误。

异常消息: page

我的JSP: search.jsp的:



<div class="container">
    <div class="col-xs-12 col-sm-8 col-md-6 col-sm-offset-2 col-md-offset-3">
        <div class="row">
            <div class="col-xs-12 col-sm-6 col-md-6">
                <div class="form-group">
                    <form action="/SpringMail/searchresults" method="get">
                        <input type="text" name="searchRecord" id="search_record" class="form-control input-lg" placeholder="Enter email to search" tabindex="1" required="required">
                        <div class="col-xs-12 col-md-6"><input type="submit" value="Search" class="btn btn-primary btn-block btn-lg search" tabindex="4"></div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
&#13;
&#13;
&#13;

Searchresult.jsp:它有一张桌子。所以我只是包含了那个代码。

&#13;
&#13;
<table class="table">
    <thead>
        <tr>
            <th>#</th>
            <th>Firstname</th>
            <th>Lastname</th>
            <th>DisplayName</th>
            <th>DateOfBirth</th>
            <th>Email</th>
            <th>Password</th>
    	    <th>Contact</th>
    	    <th>Skills</th>
        </tr>
    </thead>
    <tbody>
    <%
        List students = (List)request.getAttribute("searchresult");
        Iterator stdIter = students.iterator();
        
        while(stdIter.hasNext()) {
            Student s = (Student) stdIter.next();
    %>
        <tr>
            <td><% s.getFirstName(); %></td>
            <td><% s.getLastName(); %></td>
            <td><% s.getDisplayName(); %></td>
            <td><% s.getDateOfBirth(); %></td>
            <td><% s.getEmail(); %></td>
            <td><% s.getPassword(); %></td>
            <td><% s.getContact(); %></td>
            <td><% s.getStudentSkills(); %></td>
        </tr>
    <%  }  %>
    </tbody>
</table>
&#13;
&#13;
&#13;

我的控制器:RegistrationController:

    `   // For Search
@RequestMapping(value="/search", method=RequestMethod.GET)
public ModelAndView getSearchForm() {
    ModelAndView searchmv = new ModelAndView("search");
    return searchmv;
}

@RequestMapping(value="/searchresults/{email}", method=RequestMethod.GET)
public ModelAndView searchResults(@PathVariable("email") String email,HttpServletRequest request) {
    System.out.println("Inside Search method");
    ModelAndView searchResult = new ModelAndView("searchresult");
    request.setAttribute("searchresult", st.getStudent(email));
    return searchResult;
}
// For Search`

getStudent():


    public List<Student> getStudent(String email) {
    System.out.println("Inside getStudent() method");
    System.out.println("Entered email: " + email);
    List studentList = new ArrayList();
    String sql = "select * from student where email = " + email;
    studentList = jt.query(sql, new StudentRowMapper());
    return studentList;
}

我是第一次亲自动手。请指导我正确的方法。

1 个答案:

答案 0 :(得分:0)

我得到了答案。 方法:RegistrationController中的searchResults格式错误。 我这样修好了。

    @RequestMapping(value="/searchresults", method=RequestMethod.GET)
public ModelAndView searchResults(@RequestParam("searchRecord") String email, Map model) {
    ModelAndView searchResult = new ModelAndView("searchresult");
    model.put("searchresult", st.getStudent(email));
    return searchResult;
}

感谢您的输入