Ayuda jsp
Hola unholy neseito tu ayuda, resulta que estoy trabajando en un programa de conversión de archivos html a wml con jsp tengo este ejemplo que debería convertir parte de una búsqueda del metacrawler por el tema
de redes a wml
así: el archivo tokens.java (que debe ser compilado poner el .class dentro de una carpeta llamada
paquete dentro de la carpeta classes del tomcat en la siguiente dirección C:\Archivos de programa\Apache Tomcat 4.0\webapps\examples\WEB-INF\classes\paquete
la pagina de búsqueda se puede ver en la siguiente dirección
http://search.metacrawler.com/texis/search?brand=metacrawler&q=redes&redirect=&top=1&method=0&rpp=10&hpe=10®ion=0&timeout=0&sort=0&theme=classic&refer=mc-search&eng=Google
La idea es que no solo funcione para este vinculo sino para cualquier búsqueda por favor le agradezco cualquier ayuda
que pena lo largo del correo gracias...
de redes a wml
así: el archivo tokens.java (que debe ser compilado poner el .class dentro de una carpeta llamada
paquete dentro de la carpeta classes del tomcat en la siguiente dirección C:\Archivos de programa\Apache Tomcat 4.0\webapps\examples\WEB-INF\classes\paquete
package paquete;
import java.util.*;
import java.sql.*;
import java.io.*;
import java.lang.*;
//import org.jdom.*;
public class tokens
{
//busca la sintaxis de html donde estan los link
public int armado(String texto)
{
int su=0;
int inbr=texto.indexOf("</A>");
if(inbr!=-1)
su=1;
return su;
}
//comienza filtrado de texto
public String QuitarTokens(String texto)
{
//busca caracteres especialesy los elimina
String texto_completo="";
String delim="~-|.><^$&%#~?¡¿!°();=:{}[], */+?`´?''\"é ª§@=&%$)('áºçêà b ³ " ;
String sto=null;
int inbr=texto.indexOf("</A>");
if(inbr!=-1)
{
texto=texto.substring(0,inbr);
}
StringTokenizer datos1;
datos1=new StringTokenizer(texto,delim);
//busca vocales con tildes o ñ y las remplaza
while(datos1.hasMoreTokens())
{
sto=datos1.nextToken();
if(!sto.equals("font"))
{
StringBuffer sb=new StringBuffer(sto);
int t=sto.indexOf("á");
if(t!=-1)
{
sb.setCharAt(t,'a');
sto=String.valueOf(sb);
//setCharAt
}
int ii=sto.indexOf("í");
if(ii!=-1)
{
sb.setCharAt(ii,'i');
sto=String.valueOf(sb);
//setCharAt
}
int oo=sto.indexOf("ó");
if(oo!=-1)
{
sb.setCharAt(oo,'o');
sto=String.valueOf(sb);
//setCharAt
}
int uu=sto.indexOf("ú");
if(uu!=-1)
{
sb.setCharAt(uu,'u');
sto=String.valueOf(sb);
//setCharAt
}
int pp=sto.indexOf("ñ");
if(pp!=-1)
{
sb.setCharAt(pp,'n');
sto=String.valueOf(sb);
//setCharAt
}
int rr=sto.indexOf("Ñ");
if(rr!=-1)
{
sb.setCharAt(rr,'n');
sto=String.valueOf(sb);
//setCharAt
}
int ee=sto.indexOf("é");
if(ee!=-1)
{
sb.setCharAt(ee,'e');
sto=String.valueOf(sb);
//setCharAt
}
int II=sto.indexOf("Í");
if(II!=-1)
{
sb.setCharAt(II,'i');
sto=String.valueOf(sb);
//setCharAt
}
texto_completo+=" "+sto;
}
}
//retorna la varible texto completo para ser utilizada en el programa jsp
return texto_completo;
}
}
y el archivo redesw.jsp que debe estar en C:\Archivos de programa\Apache Tomcat 4.0\webapps\examples\jsp
<%@ page import="java.util.*, java.lang.System,javax.servlet.*,javax.servlet.http.*,java.io.*,paquete.*"%>
<%@ page contentType="text/vnd.wap.wml" %>
<?xml version="1.0"?><!DOCTYPE wml PUBLIC "-//PHONE.COM//DTD WML 1.3//EN" "http://www.phone.com/dtd/wml13.dtd">
<wml>
<card title="MENU DGT" id="menuDGT">
<p>
<%
//DEFINICION DE VARIABLES
int contv=0,o=0,n=0,to=0,contp=1;
int cont=0, quitar=0;
String elto=null;
String url=null;
String url2=null;
String texto=null;
String texto_completo=null;
java.net.URL pos=null;
DataInputStream arc=null;
boolean salir=false;
//CONECCION CON EL URL DEFINIDO
pos=new java.net.URL("http://search.metacrawler.com/texis/search?brand=metacrawler&q=redes&redirect=&top=1&method=0&rpp=10&hpe=10®ion=0&timeout=0&sort=0&theme=classic&refer=mc-search&eng=Google");
arc = new DataInputStream(pos.openStream());
paquete.tokens tok=new paquete.tokens();
%>
<%
while ((elto=arc.readLine())!=null)
{
//OMITE ESTRUCTURA DE LINK DE HTML
int f=elto.indexOf("</a> -");
if(f!=-1)
{
cont++;
int j=elto.indexOf("\">");
texto=elto.substring(j+2);
texto_completo=tok.QuitarTokens(texto);
if(cont!=1)
{
if(salir==true)
{
%>
<!-- INTRODUCE ENLACE Y TEXTO EN PROMPT. -->
</p> <p>
<%=contp+" "+texto_completo %>
<%
}
contp++;
}
}
//BUSCA EL FONDO Y COLOR PARA OMITIRLO
int p=elto.indexOf("<font color");
if(p!=-1 && p==0)
{
quitar++;
contv++;
o=p+31;
n=o;
while (n<elto.length())
{
if(elto.charAt(n)!='\n')
n++;
}
//TRAE EL TEXTO FILTRADO
url=elto.substring(o,n);
int pool=url.indexOf("(");
if(pool!=-1)
{
if(salir==true)
{
//INTRODUCE LO FILTRADO EN EL PROMPT
url2=url.substring(0,pool);
%> <%= url2%>
</p><p>
<%
}
}
la pagina de búsqueda se puede ver en la siguiente dirección
http://search.metacrawler.com/texis/search?brand=metacrawler&q=redes&redirect=&top=1&method=0&rpp=10&hpe=10®ion=0&timeout=0&sort=0&theme=classic&refer=mc-search&eng=Google
La idea es que no solo funcione para este vinculo sino para cualquier búsqueda por favor le agradezco cualquier ayuda
que pena lo largo del correo gracias...
2 respuestas
Respuesta de unholy
1
Respuesta de retsam
1