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

Java 单选按钮“选择设计”上的渲染列表,java,jquery,ajax,jsp,spring-mvc,Java,Jquery,Ajax,Jsp,Spring Mvc,我有一个列表,其中定义了另一个列表。所以,假设它们是反射对象。(列表中的列表中的列表…以此类推)。在我看来,我从一个是/否问题开始,根据是,我必须显示一组数据。当用户选择“是”时,再次显示集合 我可以通过构造问题并在呈现给客户机之前隐藏它们来实现这一点,当用户选中“是”时,我启用该集合。但是我正在处理的集合非常庞大,因此如果没有用处,我不想呈现集合并隐藏。我想知道是否有更好的方法来实现这一点 感谢您在实际需要时加载“嵌套”问题,您可以使用ajax。 例如,在Spring MVC控制器中,您可以实

我有一个列表,其中定义了另一个列表。所以,假设它们是反射对象。(列表中的列表中的列表…以此类推)。在我看来,我从一个是/否问题开始,根据是,我必须显示一组数据。当用户选择“是”时,再次显示集合

我可以通过构造问题并在呈现给客户机之前隐藏它们来实现这一点,当用户选中“是”时,我启用该集合。但是我正在处理的集合非常庞大,因此如果没有用处,我不想呈现集合并隐藏。我想知道是否有更好的方法来实现这一点

感谢您在实际需要时加载“嵌套”问题,您可以使用ajax。 例如,在Spring MVC控制器中,您可以实现如下方法:

@RequestMapping("/nestedQuestions")
public @ResponseBody List<Question> getNestedQuestions(@RequestParam("parentQuestion") int id){
    return yourService.getChildrenQuestionsFor(id);
}
然后在页面中,如果使用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
onChange
事件处理程序调用
getNestedQuestions
函数,传递父问题id。

我建议使用ajax返回json对象,然后您可以从该对象构造元素。
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);
        }
    });
}