0

別のリストが定義されているリストがあるので、それらをリフレクションオブジェクトと見なします(リスト内のリスト内のリスト...など)。私の見解では、1つのYES / NO質問から始め、YESに基づいて、データのコレクションを表示する必要があります。再びユーザーがYESをチェックすると、セットが表示されます。

これは、クライアントに提示する前に質問を作成して非表示にし、ユーザーが[はい]をオンにしたときにそのセットを有効にすることで実現できますが、作業しているコレクションは膨大なので、コレクションをレンダリングして非表示にしたくない場合はそれは役に立たない。これを達成するためのより良い方法があるかどうか知りたいです。(SpringMVC 3、Java 6)

ありがとう

4

1 に答える 1

1

「ネストされた」質問を実際に必要なときにロードするには、ajaxを使用できます。たとえば、Spring MVCコントローラーでは、次のようなメソッドを実装できます。

@RequestMapping("/nestedQuestions")
public @ResponseBody List<Question> getNestedQuestions(@RequestParam("parentQuestion") int id){
    return yourService.getChildrenQuestionsFor(id);
}

Question単純なオブジェクトである可能性があります。

public class Question {

    private int id;
    private String text;

    // ...

}

次に、ページで、jQueryを使用している場合:

function getNestedQuestions(parentQuestionId) {
    $.ajax({
        type : "GET",
        url : '/nestedQuestions',
        data : {
            parentQuestion : parentQuestionId
        },
        success : function(data) {
            // for each question in data, show it...
        },
        error : function(jqXHR, textStatus, errorThrown) {
            alert(jqXHR.responseText);
        }
    });
}

この関数は、親の質問IDを渡して、ラジオボタンイベントハンドラーgetNestedQuestionsから呼び出すことができます。onChange

于 2012-07-14T09:06:36.690 に答える