有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用SpringJDBC检索记录

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

异常消息: page

我的JSP: 搜索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>

搜索结果。jsp:它有一个表。所以我只是把它的代码包括进去

<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>

我的控制器:注册控制器:

    `   // 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) 个答案

  1. # 1 楼答案

    我得到了答案。 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;
    }
    

    谢谢你的投入