【发布时间】:2014-07-10 20:58:05
【问题描述】:
我有一个 Person 类和 Dog 类。人有一条狗。我从一个简单的 html 文件将post http request 发送到 servlet。在 servlet 中,我将一个人和他的狗作为属性添加到请求中。 servlet 将此请求转发给一个 jsp,该 jsp 应该使用表达式语言或 EL 打印狗的名字。
我按照书中的所有说明进行操作,但我得到了错误的输出。请 帮我修复我的代码。
预期输出 - 狗的名字是:狗。 实际输出 - 狗的名字是:
Servlet 的 doPost -
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Person p = new Person();
Dog d = new Dog();
p.setName("Man");
d.setName("dog");
request.setAttribute("person", p);
RequestDispatcher view = request.getRequestDispatcher("/jsp/MyJsp.jsp");
view.forward(request, response);
}
JSP主代码-
<html>
<body>
Dog's name is: ${person.dog.name}
</body>
</html>
Pojos 和 stacktrace 的完整代码 -
狗-
package foo;
public class Dog {
private String name;
public String getName() {return name;}
public void setName(String name) {this.name = name;}
}
人 -
包 foo;
公共类人{
String name;
Dog dog;
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public Dog getDog() {return dog;}
public void setDog(Dog dog) {this.dog = dog;}
}
我再次重新启动了 eclipse 和 tomcat 并且我的代码工作了。
【问题讨论】:
标签: java jsp jakarta-ee servlets jstl