我正在尝试搜索记录并使用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;
Searchresult.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>
&#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;
}
我是第一次亲自动手。请指导我正确的方法。
答案 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;
}
感谢您的输入