掲示板
Como especificar na renderURL um outro portlet
7年前 に Bruno Mori Barata によって更新されました。
Como especificar na renderURL um outro portlet
New Member 投稿: 18 参加年月日: 16/11/09 最新の投稿
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!
7年前 に Fernando Fernandez によって更新されました。
RE: Como especificar na renderURL um outro portlet
Expert 投稿: 396 参加年月日: 07/08/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
7年前 に Bruno Mori Barata によって更新されました。
RE: Como especificar na renderURL um outro portlet
New Member 投稿: 18 参加年月日: 16/11/09 最新の投稿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.
7年前 に Fernando Fernandez によって更新されました。
RE: Como especificar na renderURL um outro portlet
Expert 投稿: 396 参加年月日: 07/08/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
7年前 に Bruno Mori Barata によって更新されました。
RE: Como especificar na renderURL um outro portlet
New Member 投稿: 18 参加年月日: 16/11/09 最新の投稿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>
7年前 に Anderson Perrelli によって更新されました。
RE: Como especificar na renderURL um outro portlet (回答)
Junior Member 投稿: 81 参加年月日: 13/06/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
7年前 に Bruno Mori Barata によって更新されました。
RE: Como especificar na renderURL um outro portlet
New Member 投稿: 18 参加年月日: 16/11/09 最新の投稿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.