0

Spring MVC を使用してオートコンプリート機能を実装しようとしています。Jquery.Employee リストは DB から来ていますが、jquery から来ています。コントローラーの関数が呼び出されていません。以下のコードを参照してください。

empDeatils.jsp

 `link rel="stylesheet" type="text/css" ` `href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" />
 `

 `<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
 `

 `<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
  `

 `<script type="text/javascript">
 `

$(document).ready(function() {


$(document).ready(function() {

$("#empName").autocomplete({

source: '${pageContext.request.contextPath}/getEmpList'

});

});

</script>



<form:input path="empName" cssClass="input-xlarge" id="empName" />

コントローラ クラス

@RequestMapping(value = "/getEmpList", method = RequestMethod.GET, headers = "Accept=*/*")

public @ResponseBody List<String> getEmpNameList(@RequestParam("term") String query) {

List<String> empList = empDetailsService.getEmpNames(query);

return empList;

}

助けてください。

ありがとう

4

1 に答える 1

0

オートコンプリートの URL にコントローラーのマッピングを忘れていると思います

あなたのコントローラークラスは次のようになると思います

 @Controller
 @RequestMapping("/myController")
 public EmpController {
    ...
    @RequestMapping(value = "/getEmpList"  method = RequestMethod.GET, headers = "Accept=*/*")
    public @ResponseBody List<String> getEmpNameList(@RequestParam("term") String query) {
        List<String> empList = empDetailsService.getEmpNames(query);
        return empList;
   }
 }

次に、このURLを使用するmyController/getEmpListか、${pageContext.request.contextPath}/myController//getEmpList

これで問題が解決しない場合は、firebug などのツールを使用して、クライアントが何を送信し、サーバーが何を返すかを確認します。

于 2012-08-30T12:02:55.687 に答える