2012-04-30 22 views
-1

私はJava Servletを使用しています。そこには、正規表現を使ってテキストをフィルタリングする必要があります。 しかし、javaコンパイラはインポート時にjava.util.regex.Patternをインポートします。 "シンボルを解決できません"'シンボルを解決できません'サーブレットのコンパイル

このように、私の連続するマッチャーとパターン関数はすべて機能していません。

サーブレットでregexパッケージを使用できませんか?それは私にもエラーを与えたように私は文字列のcontians関数を使用することができませんでした。同じもののための代替手段はありますか?

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 "、" s "なし。 –

+0

あなた、あなたのスペル! 「含む」は「コンティアン」ではない。キーワードのスペルを間違えた場合、誰もが最初に推測するのは、あなたのコードでも間違っていることです。それでも、あなたの開発環境に何かがあるかもしれないように思えます。あなたの開発環境についてのより詳細な情報が役に立ちます。あなたは、動作するいくつかのコードの例と、並んでいないものがありますか? – laher

+0

コンパイラのエラーを示す**正確な**コードを表示してください。 –

答えて

0

JavaDocによると、パッケージはjava.util.regex.Patternであり、java.utils.regex.Patternではありません。

編集:適切な構文を使用してもよろしいですか? (<%@ page import java.util.regex.Pattern %>)。古いバージョンのJavaを使用しているのでしょうか? PatternクラスはJava 1.5で使用可能になりました。

現在実行しているバージョンを確認するには、コマンドプロンプトまたはターミナルを開き、java -versionと入力します。これにより、マシン上で実行しているJavaバージョンが生成されます。

+0

私はそれを変更しました..今でも私は問題に直面しています – CodeMonkey

+0

@ user1290495:私は私の答えを変更しました。 – npinti

0

java.util.regex.Patternはありませんか? (utils

+0

私はそれを変更しました..今でも私は問題に直面しています。サーブレットのパッケージを使用しています – CodeMonkey

+0

あなたは今、エラーを出すことができますか?サージェットで正規表現のものを使用できない理由はありません。 –

+0

未解決のシンボル。シンボル "pattern" "matcher" "..util.regex"を解決できません – CodeMonkey

関連する問題