Fórum

imprimir um list java em jsp liferay

Lucas Almeida de Andrade, modificado 8 Anos atrás.

imprimir um list java em jsp liferay

New Member Postagens: 14 Data de Entrada: 11/03/15 Postagens Recentes
Como eu imprimo um list java em meu jsp liferay?

+++++++++++++++ meu java

package nomedomeupacote;

import java.io.IOException;
import java.util.List;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.EventRequest;
import javax.portlet.EventResponse;
import javax.portlet.PortletException;
import javax.portlet.PortletPreferences;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpSession;

import org.apache.http.client.fluent.Request;
import org.apache.jasper.tagplugins.jstl.core.Out;
import org.apache.log4j.Logger;

import com.liferay.util.bridges.mvc.MVCPortlet;

public class TabelaAtosProcessos extends MVCPortlet {
@Override
public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException ,PortletException {
// TODO Auto-generated method stub


Logger logger = Logger.getLogger(TabelaAtosProcessos.class);
logger.error("Tabelas executing");
PortletPreferences prefs = actionRequest.getPreferences();
try {
logger.error(">> Try Consulta Processos<<");
//instância a classe com os métodos
Metodos metodo = new Metodos();
metodo.getToken();
List<Processos> retorno = metodo.consultaProcessoAtos();
actionRequest.setAttribute("list", retorno);

// RequestDispatcher rd = actionRequest.getRequestDispatcher("/teste.jsp");
// rd.forward(request, response);

} catch (Exception e) {
e.printStackTrace();
logger.error(">>Cath Consulta Processo <<");
}
logger.error(">> Saiu if Consulta Processo<<");

}

}
thumbnail
Guillermo Rodolfo Mangieri, modificado 8 Anos atrás.

RE: imprimir um list java em jsp liferay

Regular Member Postagens: 166 Data de Entrada: 10/09/12 Postagens Recentes
Boa tarde,

pelo que vi, você está querendo listar atos de processos, isto é um contúdo multivalorado de um outro registro.

Para começar eu teria trabalhado com jsf com datatable, mas, se voce quer trabalhar com jsp tem um caminho bem mais prático que é com o uso de alloyUI (http://alloyui.com/tutorials/datatable/) onde voce usa um datatable com css e js para ter versatilidade.

Se voce fez um service builder com todo teu projeto onde tem tabelas proprias e engine de operações de CRUD voce tem toda uma infraestrutura criada pelo liferay.

Por isso tem um conjunto de tags que permitem apresentar esses registros em tabela, mas, sem paginar.

As tags que estou falando são as seguintes:

<liferay-ui:search-container >

<liferay-ui:search-form />

<liferay-ui:search-container-results>
<%
results = TabelaAtosProcessosActionUtil.search(company.getCompanyId(), themeDisplay.getScopeGroupId(),searchTerms, searchContainer.getStart(), searchContainer.getEnd());
total = TabelaAtosProcessosActionUtil.hits(company.getCompanyId(), themeDisplay.getScopeGroupId(),searchTerms);

pageContext.setAttribute("results", results);
pageContext.setAttribute("total", total);
%>
</liferay-ui:search-container-results>

<liferay-ui:search-container-row>

<liferay-ui:search-container-column-text name="Ano" property="year" orderable="true" />
<liferay-ui:search-container-column-text name="Processo" property="processo" orderable="true" />
...
<liferay-ui:search-container-column-jsp />

</liferay-ui:search-container-row>

<liferay-ui:search-iterator />

</liferay-ui:search-container>


sei que pode parecer complicado, mas, funciona...
Lucas Almeida de Andrade, modificado 8 Anos atrás.

RE: imprimir um list java em jsp liferay

New Member Postagens: 14 Data de Entrada: 11/03/15 Postagens Recentes
Muito obrigado pela dica, eu acho melhor melhor mesmo usar alloyUI.
Mas a minha duvida é como eu vou recuperar esse dados da minha lista la no arquivo java e passar para esse javascript?
Estou tentando pesquisar mais ta difícil de achar aqui.
thumbnail
Guillermo Rodolfo Mangieri, modificado 8 Anos atrás.

RE: imprimir um list java em jsp liferay

Regular Member Postagens: 166 Data de Entrada: 10/09/12 Postagens Recentes
bom dia...

Eu não tenho em mãos uma aplicação especifica para te dizer como fazer de forma objetiva.

Porém, eu pegaria o list na jsp como é feito com qualquer servlet e depois faria uma iteração para que isso seja feito em nivel de javascript.

Vejamos se posso ser um pouco mais didático na ideia.

Como voce colocou no teu action actionRequest.setAttribute("list", retorno);

A leitura do list na jsp poderia ser por meio de algo do tipo:

<%
List<Processos> lista = (List<Processos>) request.getAttribute("list");
%>

Isso deve te fazer recuperar a tua lista na camada de view.

Depois tem que ver se da de fazer algo do tipo:
<%
for( Processos p: lista) {
%>
comandos javascript usando <%= p.getAlgumacoisa() %>
<%
}
%>

e por ai vai...

eu não tenho certeza se tem que usar um iterator no list ou o for já te atende... estou digitando com coisa de cabeça sem usar o eclipse...

pelo menos estou querendo que voce tenha uma luz no final do tunel...

Aquele abraço
thumbnail
Guillermo Rodolfo Mangieri, modificado 8 Anos atrás.

RE: imprimir um list java em jsp liferay

Regular Member Postagens: 166 Data de Entrada: 10/09/12 Postagens Recentes
eu peguei gosto pelo uso de jsf, particularmente em primefaces... voce pode fazer esses iterators com datatables de forma mais transparente e prática num xhtml.

mas não sei das necessidades do teu projeto
Lucas Almeida de Andrade, modificado 8 Anos atrás.

RE: imprimir um list java em jsp liferay

New Member Postagens: 14 Data de Entrada: 11/03/15 Postagens Recentes
Então é apenas demonstrativo agora meu projeto.
Eu estou pensando mesmo em fazer em jsf mas o duro que eu não conheço nada nem de jsf nem de jsp, só sei um pouco quase nada de java.
Vou me arriscar em jsf então para ver oque dá.
Lucas Almeida de Andrade, modificado 8 Anos atrás.

RE: imprimir um list java em jsp liferay

New Member Postagens: 14 Data de Entrada: 11/03/15 Postagens Recentes
Estou usando jsf primefaces agora, teria como me dar um norte sobre o problema que falei no post?
thumbnail
Guillermo Rodolfo Mangieri, modificado 8 Anos atrás.

RE: imprimir um list java em jsp liferay

Regular Member Postagens: 166 Data de Entrada: 10/09/12 Postagens Recentes
Nobre... simples...

Vamos por partes....

Inicialmente o material de consulta está em

https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/jsf-portlets-with-liferay-faces

https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/creating-and-deploying-jsf-portlets


Como funciona?

Tem algo proximo do MVC onde voce trabalha com XHTML na camada de view (telas). Estas "importam" um conjunto de recursos que voce vai trabalha-lo como se fossem tags da mesma maneira que voce trabalha HTML.

Na camada de controller voce cria um tipo de arquivo denominado de managedBean. Nesse arquivo voce pode criar atributos é métodos que poderá acessar diretamente da tua xhtml por meio de algo do tipo #{NomeDoManagedBean.nomeDoMetodo()}

Dessa maneira as tuas listas podem ser transportadas mais facilmente e mostrados com artefatos de primefaces como são encontrados em

http://www.primefaces.org/showcase/

http://www.primefaces.org/showcase-ext/views/home.jsf



Agora .... fiquei com uma dúvida da tua última resposta...

Voce somente vai fazer consultas de processos ou vai ter que montar algum tipo de crud para manter essas informações???

Se for gestão de conteúdos, tem que avaliar requisitos para um portlet sendo jsf como estamos conversando....

Se for algo do tipo somente consulta tem como fazer algo do tipo conteúdo web com estrutura e modelo vinculado criado que nem jsp, mas, feito com velocity (espero que tenhas compreendido, e não é culpa do meu sotaque... kkk)
george salu, modificado 7 Anos atrás.

RE: imprimir um list java em jsp liferay

Junior Member Postagens: 36 Data de Entrada: 16/04/15 Postagens Recentes
Para imprimir um lista na jsp vc pode fazer de varias formas, a mas rapida e simples é usar jstl neste caso vc usario uma tag <c:for> pra pegar todos os itens da lista


<c:fortokens items="${lista}" var="${variavel}">
 <c:out value="${variavel}" />
</c:fortokens>