单选按钮选择设计上的渲染列表

时间:2012-07-12 18:30:36

标签: java jquery ajax jsp spring-mvc

我有一个列表,其中有一个定义的另一个列表。所以,假设它们是一个反射对象。(在列表中列表内的列表......等等)。在我看来,我从一个YES / NO问题开始,基于YES,我必须显示一组数据。再次当用户检查YES时显示该组。

我可以通过构造问题并在呈现给客户端之前隐藏它们来实现这一点,当用户检查YES时,我启用该set.But我正在工作的集合很大,所以我不想渲染集合如果没用就隐藏起来。我想知道是否有更好的方法来实现这一点。(Spring MVC 3,Java 6)

由于

1 个答案:

答案 0 :(得分: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);
        }
    });
}

可以从您的radiobutton getNestedQuestions事件处理程序调用{​​{1}}函数,并传递父问题ID。