2012-04-30 2 views
-1

J'utilise Java Servlet. Là, je dois utiliser l'expression régulière pour filtrer le texte. Toutefois, le compilateur java indique lors de l'importation de l'importation java.util.regex.Pattern; "ne peut pas résoudre le symbole"Impossible de résoudre le servlet de compilation du symbole

Ainsi toutes mes fonctions consécutives de maquetteur et de modèle ne fonctionnent pas. Ne pouvons-nous pas utiliser des paquets regex dans une servlet?

Je n'étais pas capable d'utiliser la fonction de chaîne de caractères comme il m'a donné une erreur aussi. Y a-t-il une alternative pour la même chose?

import java.io.IOException; 
import java.io.PrintWriter; 
import java.io.StringReader; 
import java.util.List; 
import java.util.regex.Pattern; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.apache.commons.httpclient.HttpClient; 
import org.apache.commons.httpclient.methods.PostMethod; 
import org.jdom.Document; 
import org.jdom.Element; 
import org.jdom.input.SAXBuilder; 


public class HelloWorldExample extends HttpServlet { 
public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException, ServletException 
{ 
response.setContentType("text/plain;charset=ISO-8859-1"); 
PrintWriter out = response.getWriter(); 
String keyword = request.getParameter("inputValue"); 
HttpClient cl = new HttpClient(); 
String temp = "http://localhost:8080/solr/select/?q=*%3A*&version=2.2&start=0&rows=2000&indent=on"; 
PostMethod pst = new PostMethod(temp); 

String XMLstr="<GIS>"; 
Perl5Util perl=new Perl5Util(); 

try{ 
    cl.executeMethod(pst); 
    String xmlstr=pst.getResponseBodyAsString(); 
    SAXBuilder sax=new SAXBuilder(); 
    Document doc= (Document) sax.build(new StringReader(xmlstr)); 
    Element rootElem=doc.getRootElement(); 
    Element res=rootElem.getChild("result"); 
    List docs=res.getChildren("doc"); 
    for(int i=0;i<docs.size();i++) 
    { 
     out.println("docsSize = " + docs.size()); 
     Element row= (Element)docs.get(i); 
     List strs=row.getChildren("str"); 
     out.println("strs = " + strs.size()); 
     out.println("Hello"); 
     Element strRow=(Element)strs.get(0); 
     String strContent=strRow.getText().toString(); 
     Element strRow1=(Element)strs.get(1); 
     String Lati=strRow.getText().toString(); 
     Element strRow2=(Element)strs.get(2); 
     String Longi=strRow.getText().toString(); 
     Element strRow3=(Element)strs.get(3); 
     String FileName=strRow.getText().toString(); 
     if(strContent.contains(keyword)) 
     { 
       //out.println("XMLstr: "); 
       XMLstr+="<File><id>"+FileName+"</id><Lat>"+Longi+"</Lat><Long>"+F+"</Long>"; 
       //out.println("XMLstr: "+XMLstr); 
      } 
     //out.println(strRow.getText()); 
     break; 
    } 
}catch(Exception e) 
{ 
    out.println(e); 
} 
} 
} 
+2

'java.util.regex.Pattern' -" util "sans" s ". –

+0

Mec, votre orthographe! 'contient' pas 'contians'. Si vous faites une faute d'orthographe sur les mots clés, alors tout le monde devinera que vous avez aussi mal orthographié votre code. Pourtant, il semble qu'il puisse y avoir quelque chose avec votre environnement de développement. Plus de détails sur votre environnement de développement seraient utiles. Avez-vous un exemple de code qui fonctionne, et quelque chose qui ne fonctionne pas, côte à côte? – laher

+0

Veuillez montrer le code ** exact ** qui donne l'erreur du compilateur. –

Répondre

0

Selon le JavaDoc, le paquet doit être java.util.regex.Pattern et non java.utils.regex.Pattern.

EDIT: êtes-vous sûr d'avoir la syntaxe appropriée? (<%@ page import java.util.regex.Pattern %>). Peut-être que vous utilisez une ancienne version de Java? La classe Pattern était disponible en Java 1.5.

Pour voir la version en cours d'exécution, ouvrez l'invite de commande ou le terminal et tapez java -version. Cela devrait générer la version Java que vous avez exécutée sur votre machine.

+0

Je l'ai changé .. même maintenant je fais face au problème – CodeMonkey

+0

@ user1290495: J'ai modifié mes réponses. – npinti

0

Vous ne voulez pas java.util.regex.Pattern? (pas utils)

+0

Je l'ai changé .. même maintenant je suis confronté au problème. Je peux utiliser le paquet dans le servlet – CodeMonkey

+0

Pouvez-vous donner l'erreur que vous obtenez maintenant? Il n'y a aucune raison pour que vous ne puissiez pas utiliser le contenu de regex dans une servlet. –

+0

Symbole non résolu. Impossible de résoudre le symbole "pattern" "matcher" "..util.regex" – CodeMonkey

Questions connexes