0

基本的に、コントローラーに渡されるボタンによってインスタンス化された Ajax リクエストがあり、そのコントローラーはオブジェクトのリストを返します。最初は、返された ajax オブジェクトを JSTL の forEach ループにロードすることでこれができるかどうかを考えていましたが、いくつかの調査の結果、それはできないと思います。これは、値に基づいてサイトをロードする私の ajax リクエストです。

//edit the sighting based on the username value 
    $(this).on("click", ".edit_sighting", function(){
        $username = +$(".edit_sighting").val();
        $.get("${pageContext.request.contextPath}/getSighting/" + username, function(sightings){
            // load returned object somewhere 
        });
    });

これは、ajax リクエストを処理し、「目撃」オブジェクトのリストを返す応答を行うコントローラーです。

@RequestMapping("/getSighting/{username}")
public @ResponseBody List<Sighting> getSighting(Model model, @PathVariable String username) {

    List<Sighting> sightings = sightingsService.getSightings(username);
    model.addAttribute("sightings", sightings);
    return sightings;
}

そして基本的に、返されたオブジェクトを for each ループまたはオブジェクト フィールドを表示する何かにロードしたいと思います。例:そのようなもの。私の for each ループ:

<c:forEach var="sighting" items="${sightings }">
        <c:out value="sighting.name"/> <!-- load some sighting value --> 
</c:forEach>

したがって、本質的に私が達成しようとしているのは、ボタンがインスタンス化されたときに、複数または1つの「目撃情報」をモーダルタイプのものにロードすることです。

4

3 に答える 3

0

ajaxを使用しているため、リクエストがレスポンスを返すとページがリロードされないため、とにかくこのコードは機能しません。できることは、リストを送信する代わりに、JSON 配列を応答として送信することです。各配列要素には、必要なすべてのプロパティを持つ JSON オブジェクトが含まれ、応答の受信後にこの配列を反復できます。

于 2013-10-16T09:06:42.337 に答える