Не выводит данные на jsp страничке

201
06 марта 2018, 03:48
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Person</title>
</head>
<body>
<h1>Person Details</h1>
<table>
    <tr>
        <th width="20">ID</th>
        <th width="100">Name</th>
        <th width="160">Email</th>
        <th width="40">Age</th>
    </tr>
    <tr>
        <td>${person.id}</td>
        <td>${person.name}</td>
        <td>${person.email}</td>
        <td>${person.age}</td>
    </tr>
</table>
    <br/>
    <a href="/home">Back to home</a>
</body>
</html>

Проблема в отображении person на jsp странице. Если оставить только id, то страница отображается и показывает id. Если раскоментировать остальные данные ошибка 500

Type Exception Report
Message An exception occurred processing [/WEB-INF/views/lookPerson.jsp] at line [18]
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.apache.jasper.JasperException: An exception occurred processing [/WEB-INF/views/lookPerson.jsp] at line [18]
15:     </tr>
16:     <tr>
17:         <td>${person.id}</td>
18:         <td>${person.name}</td>
19:         <td>${person.email}</td>
20:         <td>${person.age}</td>
21:     </tr>

Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:593)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:482)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1286)
    org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1041)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:984)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

Вот ДАО класс:

public class PersonDaoImpl implements PersonDao {
    @Autowired
    private SessionFactory sessionFactory;
    @Override
    public Person lookPerson(int id) {
        Session session = sessionFactory.getCurrentSession();
        return session.load(Person.class, id);
    }
}

Вот контролер:

@Controller
@RequestMapping("/")
public class MyController {
    @Autowired
    PersonService service;
    @RequestMapping("/")
    public String homePage(){
        return "redirect:/home";
    }
    @RequestMapping("/home")
    public String setMessage(Model model){
        model.addAttribute("listPerson", service.listUsers());
        return "home";
    }
    @GetMapping("/add")
    public String createUserPage(){
        return "create";
    }
    @PostMapping("/add")
    public String addPerson(@ModelAttribute("person")Person person){
        service.add(person);
        return "redirect:/home";
    }
    @GetMapping("/delete/{id}")
    public String deletePerson(@PathVariable("id") int id){
        service.removePerson(id);
        return "redirect:/home";
    }
    @GetMapping("/look/{id}")
    public String lookPerson(@PathVariable("id") int id, Model model){
        model.addAttribute("person", service.lookPerson(id));
        return "lookPerson";
    }
}

Все остальные контроллеры и странички работают, а тут загвоздка. Буду благодарен за помощь. Класс Person:

@Entity
@Table(name = "PERSON")
public class Person {
    @Id
    @Column(name = "id", nullable = false)
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    @Column(name = "NAME")
    private String name;
    @Column(name = "EMAIL")
    private String email;
    @Column(name = "AGE")
    private Integer age;
    public Person() {
    }
    public Person(int id, String name, String email, Integer age) {
        this.id = id;
        this.name = name;
        this.email = email;
        this.age = age;
    }

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        if (id != person.id) return false;
        if (name != null ? !name.equals(person.name) : person.name != null) return false;
        if (email != null ? !email.equals(person.email) : person.email != null) return false;
        if (age != null ? !age.equals(person.age) : person.age != null) return false;
        return true;
    }
    @Override
    public int hashCode() {
        int result = id;
        result = 31 * result + (name != null ? name.hashCode() : 0);
        result = 31 * result + (email != null ? email.hashCode() : 0);
        result = 31 * result + (age != null ? age.hashCode() : 0);
        return result;
    }
}
READ ALSO
Как остановить Service, работающий в отдельном потоке?

Как остановить Service, работающий в отдельном потоке?

stopService(new Intent(this, MyServiceclass)) посылаю, onDestroy() вызывается, но сервис продолжает работать

183
Java не видит класс

Java не видит класс

Всем привет, 2 день обучения Java и тут столкнулся с проблемой, компилятор не видит мой класс(пробовал создать дополнительный класс, а в нем...

185
Как открыть книгу fb2 формата android

Как открыть книгу fb2 формата android

Вопрос собственно простойКак и чем можно открыть fb2 формат, столь популярный вокруг

195