留言板
Como especificar na renderURL um outro portlet
Bruno Mori Barata,修改在7 年前。
Como especificar na renderURL um outro portlet
New Member 帖子: 18 加入日期: 16-11-9 最近的帖子
Olá, estou com um pouco de dificuldade com a "renderURL". Eu criei um portlet novo, chamaremos de "Portlet A", e em uma das minhas páginas (que é um simples CRUD), quando eu testo acessando diretamente meu Portlet A funciona normalmente.
O problema é que para eu chegar nesta minha página de CRUD o sistema irá acessa-lo através de outro portlet, chamaremos de "Portlet B" e aí está a complicação, pois quando clico no botão "salvar" na minha página, em vez dele procurar meu método de "save" na classe MVCPortlet doPortlet A, ele acaba procurando na classe MVCPortlet do Portlet B.
Hoje no Portlet B, eu chamo a minha página do Portlet A através de uma "renderURL", desta maneira:
e acesso desta forma:
Pensei se existe alguma maneira de no renderURL eu especificar que não quero apenas chamar minha página, mas sim ir para o Portlet dela também, ou seja o Portlet A. E claro, de uma forma que eu consiga mantar meu "eventoId" no request.
Alguém poderia me ajudar?
Obrigado!
O problema é que para eu chegar nesta minha página de CRUD o sistema irá acessa-lo através de outro portlet, chamaremos de "Portlet B" e aí está a complicação, pois quando clico no botão "salvar" na minha página, em vez dele procurar meu método de "save" na classe MVCPortlet doPortlet A, ele acaba procurando na classe MVCPortlet do Portlet B.
Hoje no Portlet B, eu chamo a minha página do Portlet A através de uma "renderURL", desta maneira:
<portlet:renderurl var="editInboxURL">
<portlet:param name="mvcPath" value="/html/gerenciarinbox/search.jsp" />
<portlet:param name="eventoId" value="<%= eventoId %>" />
<portlet:param name="redirect" value="<%= themeDisplay.getURLCurrent()%>" />
</portlet:renderurl>
e acesso desta forma:
<aui:button value="Ir Portlet A" onClick="${editInboxURL}" />
Pensei se existe alguma maneira de no renderURL eu especificar que não quero apenas chamar minha página, mas sim ir para o Portlet dela também, ou seja o Portlet A. E claro, de uma forma que eu consiga mantar meu "eventoId" no request.
Alguém poderia me ajudar?
Obrigado!
Fernando Fernandez,修改在7 年前。
RE: Como especificar na renderURL um outro portlet
Expert 帖子: 396 加入日期: 07-8-22 最近的帖子
Viva Bruno,
Tens a certeza que precisas de dois portlets? Não te basta um portlet que alterne entre dois JSPs diferentes? Ia ficar muito mais simples...
Fernando
Tens a certeza que precisas de dois portlets? Não te basta um portlet que alterne entre dois JSPs diferentes? Ia ficar muito mais simples...
Fernando
Bruno Mori Barata,修改在7 年前。
RE: Como especificar na renderURL um outro portlet
New Member 帖子: 18 加入日期: 16-11-9 最近的帖子Fernando Fernandez:
Viva Bruno,
Tens a certeza que precisas de dois portlets? Não te basta um portlet que alterne entre dois JSPs diferentes? Ia ficar muito mais simples...
Fernando
Bom dia Fernando, sim preciso de dois Portlets, na realidade este "Portlet B" já existe e estamos criando um novo que possuí outro contexto, porém nesta ocasião específica precisarei acessar minha página do Portlet A através do Portlet B, e surgiu esta complicação.
Fernando Fernandez,修改在7 年前。
RE: Como especificar na renderURL um outro portlet
Expert 帖子: 396 加入日期: 07-8-22 最近的帖子
Bruno,
Nesse caso a minha sugestão é que uses IPC em vez de jogar com as URLs.
Qualquer coisa como isto.
Espero que ajude
Fernando
Nesse caso a minha sugestão é que uses IPC em vez de jogar com as URLs.
Qualquer coisa como isto.
Espero que ajude
Fernando
Bruno Mori Barata,修改在7 年前。
RE: Como especificar na renderURL um outro portlet
New Member 帖子: 18 加入日期: 16-11-9 最近的帖子Fernando Fernandez:
Bruno,
Nesse caso a minha sugestão é que uses IPC em vez de jogar com as URLs.
Qualquer coisa como isto.
Espero que ajude
Fernando
Obrigado pela dica Fernando!
Bacana através do "<supported-public-render-parameter>"
Problema é que neste caso que geraria um trabalho muito grande pra adaptar todo o código, preciso de algo mais "simples".
Vi que tem um jeito de trabalhar com>
<liferay-portlet:renderurl portletname="{nomePortlet A}" var="editInboxURL"></liferay-portlet:renderurl>
Acho que precisaria de algo neste tipo, porém estou tentando montar a renderURL e por enquanto sem sucesso.
<portlet:renderurl var="editInboxURL" portletname="gopointseventos_WAR_gopointseventosportlet">
<portlet:param name="mvcPath" value="/html/gerenciarinbox/search.jsp" />
<portlet:param name="eventoId" value="<%= eventoId %>" />
</portlet:renderurl>
Anderson Perrelli,修改在7 年前。
RE: Como especificar na renderURL um outro portlet (答复)
Junior Member 帖子: 81 加入日期: 13-6-12 最近的帖子
Olá Bruno,
Pelo que eu entendi vc deseja sair de um portletA para um portletB em outra página, certo?
Bom, para isso é possível fazer com a <liferay-portlet:renderURL/> informando o plid que é o ID da página(layout) que o outro portlet se encontra e o portletName, segue um exemplo que acho que pode te ajudar.
Neste caso, ao clicar no botão, você é enviado para a edit.jsp de outro portlet em uma outra página.
PS.: Testei na versão 6.2
Abraços
Pelo que eu entendi vc deseja sair de um portletA para um portletB em outra página, certo?
Bom, para isso é possível fazer com a <liferay-portlet:renderURL/> informando o plid que é o ID da página(layout) que o outro portlet se encontra e o portletName, segue um exemplo que acho que pode te ajudar.
Neste caso, ao clicar no botão, você é enviado para a edit.jsp de outro portlet em uma outra página.
<aui:button-row>
<liferay-portlet:renderurl var="jspURL" plid="11101" portletname="partsportlet_WAR_partsinventoryportlet" portletmode="view">
<portlet:param name="mvcPath" value="/html/parts/edit.jsp" />
</liferay-portlet:renderurl>
<aui:button value="jspportlet" onClick="<%= jspURL %>" />
</aui:button-row>
PS.: Testei na versão 6.2
Abraços
Bruno Mori Barata,修改在7 年前。
RE: Como especificar na renderURL um outro portlet
New Member 帖子: 18 加入日期: 16-11-9 最近的帖子Anderson Perrelli:
Olá Bruno,
Pelo que eu entendi vc deseja sair de um portletA para um portletB em outra página, certo?
Bom, para isso é possível fazer com a <liferay-portlet:renderURL/> informando o plid que é o ID da página(layout) que o outro portlet se encontra e o portletName, segue um exemplo que acho que pode te ajudar.
Neste caso, ao clicar no botão, você é enviado para a edit.jsp de outro portlet em uma outra página.<aui:button-row> <liferay-portlet:renderurl var="jspURL" plid="11101" portletname="partsportlet_WAR_partsinventoryportlet" portletmode="view"> <portlet:param name="mvcPath" value="/html/parts/edit.jsp" /> </liferay-portlet:renderurl> <aui:button value="jspportlet" onClick="<%= jspURL %>" /> </aui:button-row>
PS.: Testei na versão 6.2
Abraços
Muito obrigado Anderson, era isto mesmo!
Abraço.