Gus*_*Gus 6 portlet jsr168 liferay jsr286 vaadin
有没有人有一个简明的摘要链接到什么使得portlet"JSR-286兼容"与仅仅"符合JSR-168".我有一个规范的副本,这是简洁的,所以链接规范不是一个有用的答案.我已经在网上搜索了一个小时,我发现没有什么是清楚的(除了规范,当然要求你也阅读以前的规范,然后从"必需"中删除"新功能"合规性".
特别是我发现在web.xml的必要性上存在相当多的混乱,这似乎来自使用Liferay的人并且没有意识到Liferay正在为他们放入web.xml.
JSR-286 portlet在WAR文件中是否需要web.xml文件?
我真正喜欢的是包含以下一个或多个列表的内容:
您可以在列表中留下"使用portlet-app_2_0.xsd",因为我认为这部分很明显.
我愿意接受这样的答案:除了portlet.xml的DTD/xsd之外,两个列表都是空的,区别仅在于门户网站支持的内容,但请用链接或其他引用来支持该断言.
我关心的原因是我在Liferay中看到关于Vaadin portlet的帖子暗示某些功能不适用于JSR-168 portlet ......也可能是Liferay中的某些逻辑根据它看到的portlet.xml版本切换,但我还没有证实这样做也是有趣的信息,但不是我的问题的答案.
\n\n\nJSR 286 规范(Portlet 2.0)不会破坏与 JSR168(Portlet 1.0)的二进制兼容性。这意味着所有根据 Portlet 1.0 规范编写的 Portlet 都可以不加修改地运行。此规则的唯一例外是:
\n\n\n\n
renderResponse.setContentType在调用 getWriter 或 getOutputstream 之前不再需要。在 JSR168 中,调用 getWriter 或 getOutputstream 而不事先设置内容类型会导致 IllegalStateException。\n
getProtocol对于包含的 servlet / JSP 返回 \xe2\x80\x98HTTP/1.1\xe2\x80\x99,在 JSR168 中,它返回 null。
因此,只要您的 jsr168 portlet 不依赖于getProtocol()您返回的值,就是安全的(即每个 jsr168 portlet 都是 jsr286 portlet)。
您看到的帖子似乎是合乎逻辑的,因为 jsr286 是一个较新的规范,并且有一些功能使 jsr268 portlet 不是 jsr168 portlet。
\n