所以你必须扩展MVCPortlet 类。这两个调用都用于在doView 处理完成后包含 JSP。如果你看一下这个类的源代码你就会明白流程是什么,下面是我的解释:
super.doView(renderRequest, renderResponse);
这包括默认的 JSP,即 view.jsp,您可能(或没有)在 portlet.xml 中配置了类似这样的内容:
<init-param>
<name>view-template</name>
<value>/html/view.jsp</value>
</init-param>
这个超类方法什么都不做,只是在最后调用include(viewJSP, renderRequest, renderResponse);方法。
include(viewJSP, renderRequest, renderResponse);
此方法包括您为参数viewJSP 指定的任何JSP 路径。因此,通过此调用,您可以为不同的条件指定包括不同的 JSP,如下所示:
if (isThisTrue) {
include("/html/myCustomPortlet/view.jsp", renderRequest, renderResponse);
} else if (isThisTrueThen) {
include("/html/myCustomPortlet/first/another_view.jsp", renderRequest, renderResponse);
} else {
super.doView(renderRequest, renderResponse);
}
因此,根据您的要求,您可以使用两者中的任何一种或两者的混合,如上所示。希望这会有所帮助。