【发布时间】:2015-04-21 22:55:21
【问题描述】:
我想在jsp中调用一个对象的方法。
我有一个 servlet,它将一个对象传递给一个 jsp 页面。在此页面上,我想执行 getHtml() 方法。我该如何做到这一点?
Servlet
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
...
MyClass myObject = new MyClass();
response.setAttribute(myObject, "myObject");
RequestDispatcher rd = request.getRequestDispatcher("/index.jsp");
rd.forward(request, response);
}
我的班级
public class MyClass {
public String getHtml() {
return "<p>Hello World</p>";
}
}
【问题讨论】:
-
在 index.jsp 中只需通过
(MyClass)request.getAttribute("myObject").getHtml();获取它并将其转换为对象 MyClass -
一般情况下,您不应从视图层调用方法或逻辑。最好把html放在request中,而不是放在能得到你需要的object中。
-
这是一个很好的观点。我愿意这样做。但是有一个问题。我有几个
http-servlet类,每个动作一个。如何将创建的对象从一个对象传递到另一个对象?