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...
Respuesta de retsam
1
1 respuesta más de otro experto
Respuesta de unholy
1