Mecanismo a principio incompreensivel e a manipulacao de imagens por uma script JSP externa ao WCM, porem dentro do espaco do Websphere.Alguns pontos teoricos necessarios para se compreender a script que esta mais abaixo:Imagens nao pertencem a uma area de site (sitearea) ou site especifico. Elas pertencem e devem ser procuradas diretamente abaixo do nivel biblioteca (Library);As imagens sao armazenadas na biblioteca como streams de bytes em java, e para exibicao devem ser transformadas em arrays de bits;Imagens, seja no formato jpeg, seja no formato gif, correspondem ao MIME (tipo de conteudo para o protocolo http) image/jpeg;Script JSP para listar as imagens de uma BibliotecaOs trechos da script estao enumerados e explicados a seguir. Ao final, basta uni-los em uma script com extensao JSP.Bibliotecas necessarias<%@ page language="java" contentType="text/html; charset=ISO-8859-1" %><%@page import="com.ibm.workplace.wcm.api.*, com.ibm.workplace.wcm.api.exceptions.*,java.security.Principal, java.util.*, javax.servlet.*" %><%@page import="com.ibm.workplace.wcm.api.exceptions.*, java.security.Principal, java.io.*, java.lang.*" %><%@ taglib uri="/WEB-INF/tld/wcm.tld" prefix="wcm" %>Declaracoes basicas HTMLO tipo de documento HTML, estilos e o content-type do META sao todos triviais. Um acrescimo e a poderosa framework jQuery, cujo uso e justificado pelo fato dela oferecer uma compatibilidade de codigo javascript muito grande. Ja existem versoes mais avancadas, mas aqui esta declarada em 1.3.2. A biblioteca javascript jquery.tablesorter nao precisa ser entendida profundamente, mas oferece a seguinte vantagem:Clicar no titulo da coluna que se quer ordenar da tabela de imagens provoca a ordenacao do conteudo da tabela pelo conteudo desta coluna. Isto economiza chamadas ao banco do WCM . Esta ordenacao e feita no micro cliente, e nao no servidor.Rotinas Javascript de apoiofunction init() { $('TABLE[id=Resultset]').tablesorter( ); } function janela(src){ var url = "http:///wps/wcm/jsp/html/Iframe_img.jsp?src="+src; var w = window.open('','Leitura','width=800,height=600'); w.document.write(''); }A funcao init faz a inicializacao da rotina de ordenacao da biblioteca javascript jquery.tablesorter. Ela faz a leitura dos conteudos das tags TH, que deverao estar dentro de tags THEAD. As linhas de resultado deverao estar tambem dentro de tags TBODY. Do contrario, o tablesorter nao fara a correta interpretacao da tabela. E nao se esqueca que o atributo id da TABLE devera ser Resultset.Inicializacao do codigo JSP<%String sNome = "";String sSenha = "";// Biblioteca DefaultString Biblioteca = "";if( request.getParameter("Bib") != null ) { Biblioteca = request.getParameter("Bib"); }Este trecho coleta parametros que serao aproveitados em toda a script. Sao eles:NOME - Substitua pelo nome de usuario, registrado no LDAP e declarado no Websphere e WCM. Nestes dois ultimos consta o Web Anonymous para acesso via HTTP. Como esta script vai abrir uma workspace que precisa de acesso tanto aos componentes quanto ao espaco de renderizacao, e a senha do Anonymous deve ser mantida em segredo, vamos precisar de um nome de usuario;SENHA - Senha do usuario cujo identificador e NOME;NOME DA BIBLIOTECA - E fornecido atraves da URL, que pode recebe-lo de um formulario. Neste caso, e um parametro de name Bib na URL ou num INPUT de FORM;Isto corrobora nossa afirmacao de que as imagens estao no nivel das bibliotecas (Library), e nao precisam de acesso a hierarquia das areas de site.Constantes para facilitar a leitura de codigo no trecho principal // Constantes String baseURL = "http:///wps/wcm/jsp/html/LeConteudoImprensa.jsp?Bib="+Biblioteca+"&Nome="; String baseURLRest = "http:///wps/wcm/jsp/html/conteudoRestartar.jsp?Bib="+Biblioteca+"&Nome="; String eRecDoc =