自从过去几周以来,我开始在liferay工作。我有一些关于liferay插件开发的问题,他们是
http://liferayhost:8090/url/callback
?请帮助我理解这些主题。
答案 0 :(得分:0)
我们可以在插件中安装servlet吗?
如果您要创建Liferay Hook
,则doRun
方法会获得Request
和Response
个对象,您可以使用这些对象来处理Request
和{{ 1}}分别。
例如,您可以通过Request对象获取Session Id,Cookies等。
Response
session=request.getSession(false);
您可以使用Cookie[] cookies = request.getCookies();
对象进行重定向,
Response
因此,您可以获得几乎所有可以作为Servlet获得的内容。
如果您正在开发response.sendRedirect("/PathToYourPage");
插件,请记住您正在开发的Portlet
,而不是Portlet
。在Servlet
,如果您想要Portlet
和Request
个对象,可以使用以下代码
Response
在同一行,您可以尝试javax.servlet.http.HttpServletRequest request = (javax.servlet.http.HttpServletRequest) (FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("com.liferay.portal.kernel.servlet.PortletServletRequest"));
javax.servlet.http.HttpServletResponse response = (javax.servlet.http.HttpServletResponse) (FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("com.liferay.portal.kernel.servlet.PortletServletResponse"));
s
如果你正在开发一个Ext
插件,我真的不明白你想要在Theme
那里实现什么。
但您仍然可以做的是,在Servlet
文件夹下的主题vm
文件中包含一个JSP页面。
templates
此JSP页面可以放在$theme.include($themeServletContext, "/myJSP.jsp")
文件夹下。在此WebContent
中,通过JSTL / Scriplets,您可以获得myJSP.jsp
个对象
我希望这也能解决你的第二个问题。
如何像在web.xml中一样将servlet映射到http:/ liferayhost:8090 / url / callback?
Request/Response
将是您在应用程序服务器中通过提及索引配置的端口号。
8090
值将是您在Web服务器中配置的Web应用程序名称(war文件)名称(例如Apache)url
。 uriworkers.properties
将是您在应用的callback
中配置的Servlet
网址格式。
我们可以为portlet或钩子编写web.xml吗?
您可以为web.xml
和web.xml
撰写Portlet
。在Hooks的情况下,如果你在Hook
中有基本配置,但不会抛出任何异常,但我不明白你想在那里做什么。