0

以下の Ajax 関数は、Controller クラスを呼び出す必要があります。コントローラーが呼び出されません。generateExcel 内の最初のアラートのみが印刷されます。

function generateExcel(bIndex){
  alert("Inside generateExcel of export_path -> branchIndex = "+bIndex);

  $.ajax({
    type:"post",
    url:"generate/exportexcel.do?branchIndex="+bIndex,
    dataType:"json",
    success:function(data){
      alert("Inside export_path generateExcel()"+data.length);
    }
  });
}

コントローラ:

@RequestMapping("/generate/exportexcel.do")
public String docGeneration(String branchIndex) { 

    System.out.println("branchIndex ==> " +branchIndex);
     try{
        DocGenerator.generateExcel(branchIndex, order, filename, categoryDao);
     }
     catch(Exception e){
        e.printStackTrace();
     }
    return "message/result";
 }  
4

1 に答える 1

0

次のようなコードを書いた場合

  <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

web.xml で

それなら.do、次の行に書く必要はないと思います..

@RequestMapping("/generate/exportexcel.do")

したがって、それをに変更します

@RequestMapping("/generate/exportexcel")

これが答えでない場合は、web.xmlファイルのservlet-mappingエントリを表示します

于 2013-03-14T11:28:47.243 に答える