2016-10-02 2 views
1

私はtxtファイルから読み込み、それをJSPファイルに表示しようとしています。デフォルトのコンストラクタは暗黙的なスーパーコンストラクタによってスローされた例外タイプExceptionを処理できません

クラスからBeanクラスがBufferedReaderになります。 私はエラーを取得する私は、JSPでBeanxオブジェクトを作成しますが、私はJSPページでこれをしようとすると、私は立ち往生

public class Beanx { 
     public OuterBlock[] outer=new OuterBlock[100]; 
     public InnerBlock[] inner=new InnerBlock[100]; 

     /*public List<String> token1 = new ArrayList<String>(); 
     public List<String> token2 = new ArrayList<String>();*/ 
     //String[] token1; 
     //String[] token2; 

     public void callFileReaderz()throws Exception{ 
      FileReaderz fr=new FileReaderz(); 
      BufferedReader br1=FileReaderz.br; 
      String[] token; 
      int i=0,j=0; 

      String line; 
      while((line=br1.readLine())!=null){ 
       //System.out.println(line); 
       token=line.split("#"); 
       //List<String> tokenList=Arrays.asList(token); 
       if(token.length==5){ 
        OuterBlock outerObj=new OuterBlock(token[0],Integer.parseInt(token[1]),Integer.parseInt(token[2]), 
          Float.parseFloat(token[3]),Float.parseFloat(token[4])); 
        this.outer[i++]=outerObj; 
        //System.out.println(token[0]); 

       } 
       else{ 
        InnerBlock innerObj = new InnerBlock(token[0],token[1],Integer.parseInt(token[2]), 
          Integer.parseInt(token[3]),Float.parseFloat(token[4]),Float.parseFloat(token[5])); 
        this.inner[j++]=innerObj; 

       } 
      } 
      br1.close(); 

     } 

     public Beanx() throws Exception{ 
      this.callFileReaderz(); 
     } 
    } 


    public class FileReaderz { 
     public static BufferedReader br; 

     public static void main (String[] args)throws Exception { 
      // TODO Auto-generated method stub 
      //public FileReaderz() throws FileNotFoundException{ 
      br=new BufferedReader(new FileReader("database1.txt")); 

    //System.out.println(br.readLine()); 
    } 

} 

を取得する場所これは、

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 15 in the jsp file: /dashBoard.jsp 
Default constructor cannot handle exception type Exception thrown by implicit super constructor. Must define an explicit constructor 
12: </head> 
13: 
14: <body> 
15: <%! Beanx bean=new Beanx(); %> 
16: <div class="table-title"> 
17: <h3>Projects In Repository</h3> 
18: </div> 
+0

エラーメッセージは十分にクリアです。あなたはそれについて何を理解していませんか? – Raedwald

答えて

1

これがあるので、 BeanxクラスコンストラクタはExceptionをスローし、例外を処理せずに宣言タグにBeanxオブジェクトを作成しています。

<%! Beanx bean =null; %> 

そして、あなたはスクリプトレットタグの使用に以下のコードこのBeanを使用する必要があるとき:

<% 
    try{ 

     bean=new Beanx(); 

     }catch(Exception e){ 
     //To do something 
     } 
%> 

を同じように以下のnullと宣言タグでBeanxを初期化し、この問題を解決するには

これは、以下のJavaコードと同じです。

class Main extends HttpServlet{ 

Beanx bean =null; 

protected void doGet(HttpServletRequest request, HttpServletResponse response){ 
    try{ 

     bean=new Beanx(); 

     }catch(Exception e){ 
     //To do something 
     } 
} 
} 
関連する問題