我有一个列表,其中有一个定义的另一个列表。所以,假设它们是一个反射对象。(在列表中列表内的列表......等等)。在我看来,我从一个YES / NO问题开始,基于YES,我必须显示一组数据。再次当用户检查YES时显示该组。
我可以通过构造问题并在呈现给客户端之前隐藏它们来实现这一点,当用户检查YES时,我启用该set.But我正在工作的集合很大,所以我不想渲染集合如果没用就隐藏起来。我想知道是否有更好的方法来实现这一点。(Spring MVC 3,Java 6)
由于
答案 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。