错误说,这一切,你的JSP没有找到
actionRequest和
actionResponse对象。
这些对象需要包含在JSP中,方法是将这些代码放在JSP的顶部:
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%><portlet:defineObjects />
正如@RasabihariKumar正确提到的那样,这不是使用
Portlet类的方式。对于测试或学习,这可能很好,但是对于实际项目,我认为这不是一个好习惯,因为它们是昂贵的对象,并且使用Portlet作为Utility类来处理这样的数据似乎根本不正确。
,它破坏了凝聚力的原则。
就像我们对servlet所做的那样,应该使用Portlet类将请求发送(通过使用
renderURL或
actionURL或
resourceURL)并获得响应。
您可以浏览liferay
Wiki,以获得指向学习资源的有用链接,我建议开发人员指南和书籍,
Liferay in Action以及
Portlet inAction在liferay中开发portlet的最佳方法。
目前,最简单的方法是在
doViewportlet
JSP页面呈现时将在portlet的方法中编写代码,只需从您的数据库中检索列表
doView并将其作为request属性放入:
renderRequest.setAttribute("listAttr", listFromDatabase)然后
listAttr在JSP中将其用作:
String[] str = (String[]) renderRequest.getAttribute("listAttr");浏览liferay开发的样本portlet的源代码也可能会有所帮助。



