掲示板

imprimir um list java em jsp liferay

8年前 に Lucas Almeida de Andrade によって更新されました。

imprimir um list java em jsp liferay

New Member 投稿: 14 参加年月日: 15/03/11 最新の投稿
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
8年前 に Guillermo Rodolfo Mangieri によって更新されました。

RE: imprimir um list java em jsp liferay

Regular Member 投稿: 166 参加年月日: 12/09/10 最新の投稿
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...
8年前 に Lucas Almeida de Andrade によって更新されました。

RE: imprimir um list java em jsp liferay

New Member 投稿: 14 参加年月日: 15/03/11 最新の投稿
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
8年前 に Guillermo Rodolfo Mangieri によって更新されました。

RE: imprimir um list java em jsp liferay

Regular Member 投稿: 166 参加年月日: 12/09/10 最新の投稿
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
8年前 に Guillermo Rodolfo Mangieri によって更新されました。

RE: imprimir um list java em jsp liferay

Regular Member 投稿: 166 参加年月日: 12/09/10 最新の投稿
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
8年前 に Lucas Almeida de Andrade によって更新されました。

RE: imprimir um list java em jsp liferay

New Member 投稿: 14 参加年月日: 15/03/11 最新の投稿
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á.
8年前 に Lucas Almeida de Andrade によって更新されました。

RE: imprimir um list java em jsp liferay

New Member 投稿: 14 参加年月日: 15/03/11 最新の投稿
Estou usando jsf primefaces agora, teria como me dar um norte sobre o problema que falei no post?
thumbnail
8年前 に Guillermo Rodolfo Mangieri によって更新されました。

RE: imprimir um list java em jsp liferay

Regular Member 投稿: 166 参加年月日: 12/09/10 最新の投稿
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)
8年前 に george salu によって更新されました。

RE: imprimir um list java em jsp liferay

Junior Member 投稿: 36 参加年月日: 15/04/16 最新の投稿
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>