| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/12/2006 22:46:21
|
rogerbtenPJ
HelloWorld
![[Avatar]](/images/avatar/0)
Membro desde: 16/05/2006 00:00:00
Mensagens: 13
Offline
|
Como utilizar essa taglib ?EXEMPLOS
Como ficaria o SELECT ?EXEMPLOS
E outras dicas !!!!
VLW!!!!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/12/2006 23:32:42
|
CarneiroPJ
JWizard
![[Avatar]](/images/avatar/0)
Membro desde: 14/08/2004 00:00:00
Mensagens: 2202
Offline
|
Na seção de Artigos e Tutorias no menu ao lado tem um tutorial sobre DisplayTag.
|
http://www.rafaelcarneiro.net |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2006 10:27:29
|
Guilherme MelloPJ
JWizard
![[Avatar]](/images/avatar/1)
Membro desde: 25/04/2004 00:00:00
Mensagens: 2994
Offline
|
http://www.portaljava.com/home/modules.php?name=Content&pa=showpage&pid=155
Qualquer dúvida, é só falar!
|
http://blog.guilhermemello.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2006 11:06:22
|
rogerbtenPJ
HelloWorld
![[Avatar]](/images/avatar/0)
Membro desde: 16/05/2006 00:00:00
Mensagens: 13
Offline
|
È o seguinte, ve se voçê pode me ajudar:
Estou fazendo uma galeria de fotos onde gostaria de limitar 10 fotos por página, ai vi na net paginaçâo onde falaram para usar DisplayTag... só que eu não estou sabendo utilizar !!!
Action:
long idAlbum = Long.parseLong(request.getParameter("idAlbum"));
request.setAttribute("listaFotos", DAOFotos.listaFotos(idAlbum));
return mapping.findForward("exibeFotos");
----------------------------------------
DAO:
public static ArrayList<VOFoto> listaFotos(long idAlbum) throws SQLException {
String sql = "SELECT * FROM Foto WHERE Album_idAlbum = ?";
DataSource dataSource = null;
Connection conexao = null;
PreparedStatement pstmt = null;
ArrayList<VOFoto> listaFoto = new ArrayList();
try{
InitialContext ic = new InitialContext();
dataSource = (DataSource)ic.lookup(CONTEXT);
if(dataSource != null){
conexao = dataSource.getConnection();
pstmt = conexao.prepareStatement(sql);
pstmt.setLong(1, idAlbum);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
long idFoto = rs.getLong("idFoto");
String caminho = rs.getString("caminho");
listaFoto.add(new VOFoto(idFoto,caminho));
}
}
}catch (Exception e) {
e.printStackTrace();
System.out.println("ERRO: DAOFotos.selectAllColegios()");
}finally{
if(pstmt != null){
pstmt.close();
}
if(conexao != null){
conexao.close();
}
}
return listaFoto;
}
--------------------------------------------------------
Está funcionando mas o problema é essa, caso eu cadastre 100 fotos ele ira exibir as 100, por isso gostaria de dividir 10 fotos por página.
O codigo da pagina onde eu resgato os campos:
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top">
<table width="25%" border="0" cellspacing="5" cellpadding="0">
<c:set var="contador" value="0" />
<c:forEach var="fotos" items="${listaFotos}" end="9" varStatus="i">
<c:choose>
<c:when test="${i.count %2 == 1}">
<tr>
<td align="center">
</c:when>
<c:when test="${i.count%2 == 0}">
<td align="center">
</c:when>
</c:choose>
<a href="${fotos.caminho}" target="fotos" ><img border="0" width="60" height="60" src="${fotos.caminho}"></a><br>
<c:set var="contador" value="${i.count}" />
</c:forEach>
</table>
</td>
<td align="left" valign="top">
<table align="center" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle"><img src="imagem/compra_fotos.jpg"></td>
</tr>
<tr>
<td align="center" valign="top"><iframe marginwidth="90" src="imagem/foto_padrao.jpg" name="fotos" frameborder="no" width="500" height="350" scrolling="no" allowtransparency="true"></iframe></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
------------------------------------------------------------
Se voçê poder me ajudar agradeço !!!!!!!!!!!
VLW !!!!!!!!!!!!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2006 12:55:15
|
Guilherme MelloPJ
JWizard
![[Avatar]](/images/avatar/1)
Membro desde: 25/04/2004 00:00:00
Mensagens: 2994
Offline
|
Já leu o tutorial ? lá tem dicas de como fazer isso. É bem simples, basta passar a coleção para a DisplayTag e limitar o número de registros por página.
|
http://blog.guilhermemello.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2006 14:35:42
|
rogerbtenPJ
HelloWorld
![[Avatar]](/images/avatar/0)
Membro desde: 16/05/2006 00:00:00
Mensagens: 13
Offline
|
Gostaria que voçê tenha um pouco de paciência, pois sou meio novato olha só como ficou :
<display:table name="${listaFotos}" defaultsort="1" pagesize="9"
requestURI="fotos.jsp">
<display:column title="Fotos" >
<img src="${listaFotos.caminho}">
</display:column>
</display:table>
Exibe essa Mesnsagem:
Nothing found to display.
Qual modificação devo fazer ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2006 14:43:14
|
pedrobuskoPJ
Virtual Machine Man
![[Avatar]](/images/avatar/0)
Membro desde: 14/11/2006 00:00:00
Mensagens: 677
Offline
|
cara...aparentemente a tag ta certinha...pelo q eu lembro.....faz um teste para encontrar o problema....
pelo q vi vc esta loggando as coisas com sysout mesmo...então, na action, antes do seu foward, manda imprimir a sua lista de caminhos de imagens....
outra coisa....no seu JSP, pega via scriplet mesmo, e manda imprimir...assim vc vai saber onde as infos estão se perdendo....
falow
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/12/2006 17:19:29
|
Guilherme MelloPJ
JWizard
![[Avatar]](/images/avatar/1)
Membro desde: 25/04/2004 00:00:00
Mensagens: 2994
Offline
|
rogerbten wrote:Gostaria que voçê tenha um pouco de paciência, pois sou meio novato olha só como ficou :
<display:table name="${listaFotos}" defaultsort="1" pagesize="9"
requestURI="fotos.jsp">
<display:column title="Fotos" >
<img src="${listaFotos.caminho}">
</display:column>
</display:table>
Exibe essa Mesnsagem:
Nothing found to display.
Qual modificação devo fazer ?
Sem problema. Paciência é o que nã falta
Faça um teste para verificar se o atributo listaFotos está mesmo sendo enviado para o JSP. Verifique na action se o ArrayList populado essa sendo enviado...
|
http://blog.guilhermemello.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/12/2006 11:33:22
|
rogerbtenPJ
HelloWorld
![[Avatar]](/images/avatar/0)
Membro desde: 16/05/2006 00:00:00
Mensagens: 13
Offline
|
Pelo que andei testeando ela estar enviando normal:
Codigo:
<display:table name="listaFotos">
<display:column property="caminho" />
</display:table>
Exibe:
Caminho
fotos/1165403971203casa_blanca_001.jpg
fotos/1165403979921casa_blanca_006.jpg
fotos/1165403984750casa_blanca_017.jpg
fotos/1165403990296casa_blanca_018.jpg
fotos/1165403998843casa_blanca_021.jpg
----------------------------------------------------------
Mas eu quero que exiba a imagem
Codigo:
<display:table name="listaFotos" >
<display:column title="caminho">
<img src="${listaFotos.caminho}"
</display:column>
</display:table>
Só que esta dando erro:
The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Exception in JSP: /fotos.jsp:24
21:
22: <display:table name="listaFotos" sort="list" defaultsort="1" pagesize="5" requestURI="fotos.jsp">
23: <display:column title="caminho">
24: <img src="${listaFotos.caminho}"
25: </display:column>
26: </display:table>
27:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:36
root cause
javax.servlet.ServletException: The "." operator was supplied with an index value of type "java.lang.String" to be applied to a List or array, but that value cannot be converted to an integer.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:85
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.fotos_jsp._jspService(fotos_jsp.java:90)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:36
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/12/2006 13:39:16
|
Guilherme MelloPJ
JWizard
![[Avatar]](/images/avatar/1)
Membro desde: 25/04/2004 00:00:00
Mensagens: 2994
Offline
|
Parece que está dando erro nessa linha:
Que tipo é o atributo "caminho" ?
|
http://blog.guilhermemello.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/12/2006 14:44:39
|
rogerbtenPJ
HelloWorld
![[Avatar]](/images/avatar/0)
Membro desde: 16/05/2006 00:00:00
Mensagens: 13
Offline
|
Eu tenho IdFoto = long e o caminho = String, o caminho nada mais é o local onde as fotos estao armazenadas.
<display:table name="listaFotos">
<display:column property="caminho" />
</display:table>
Exibe:
Caminho
fotos/1165403971203casa_blanca_001.jpg
fotos/1165403979921casa_blanca_006.jpg
fotos/1165403984750casa_blanca_017.jpg
fotos/1165403990296casa_blanca_018.jpg
fotos/1165403998843casa_blanca_021.jpg
----------------------------------------------------------
Como seria o meu <display:column> para exibir as imagens e não o caminho <img src"??????">.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/12/2006 22:44:14
|
Guilherme MelloPJ
JWizard
![[Avatar]](/images/avatar/1)
Membro desde: 25/04/2004 00:00:00
Mensagens: 2994
Offline
|
Geralmente utilizo um decorator para esse tipo funcionalidade. Veja exemplos em:
http://displaytag.sourceforge.net/11/tut_decorators.html
No meu tutorial também tem um exemplo.
|
http://blog.guilhermemello.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/12/2006 02:15:55
|
rogerbtenPJ
HelloWorld
![[Avatar]](/images/avatar/0)
Membro desde: 16/05/2006 00:00:00
Mensagens: 13
Offline
|
Criei um pacote com o Decorator.
Qual usar:
implements ColumnDecorator ;
extends TableDecorator;
A principio utilizei o extends TableDecorator, o q devo modificar no código
não está funcionando:
package site.decorator;
import org.displaytag.decorator.TableDecorator;
import site.vo.VOFoto;
public class Decorator extends TableDecorator {
public String getCaminho() throws Exception {
Object objeto = this.getCurrentRowObject();
String caminho;
VOFoto foto = new VOFoto();
caminho = foto.getCaminho().toString();
return ????;
}
}
-----------------------------------------------
Despois como ficaria a minha tag:
<display:table name="lista" decorator="site.decorator.FotoDecorator">
<display:column property="caminho" />
</display:table>
Por enquanto agradeço sua ajuda !!!!!!!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 10:35:48
|
Guilherme MelloPJ
JWizard
![[Avatar]](/images/avatar/1)
Membro desde: 25/04/2004 00:00:00
Mensagens: 2994
Offline
|
JSP:
Sempre que postar códigos, utilize a tag BBCode para identar os códigos.
|
http://blog.guilhermemello.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/12/2006 12:18:20
|
rogerbtenPJ
HelloWorld
![[Avatar]](/images/avatar/0)
Membro desde: 16/05/2006 00:00:00
Mensagens: 13
Offline
|
GRANDE Guilherme o código está perfeito !!!!!!!!!!!!!
Vamos lá agora que a paginação está funcionando o que devo mudar para alterar o links da página, pois esta sendo mostrada assim:
11 items found, displaying 1 to 5.[First/Prev] 1, 2, 3 [Next/Last]
E aproveitando, antes de utilzar o displaytag o código que eu tinha feito pegava as fotos e colocava em duas colunas na sequência da lista.
Codigo:
Como como posso fazer com displaytag.
|
|
|
 |
|
|