我有一个列表,其中定义了另一个列表。因此,假设它们为反射对象。(列表内的列表内的列表......依此类推)。在我看来,我从一个“是/否”问题开始,基于"is",我必须显示一组数据。当用户选择"is"时,再次显示该集合。
我可以通过构建问题并在呈现给客户端之前隐藏它们来实现这一点,当用户检查"is"时,我启用该集合。但是我正在工作的集合很大,所以我不想渲染该集合如果没有用,就隐藏起来。我想知道是否有更好的方法来实现这一点。(Spring MVC 3,Java 6)
谢谢
最佳答案
要在您实际需要时加载“嵌套”问题,您可以使用 ajax。 例如,在 Spring MVC Controller 中,您可以实现如下方法:
@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);
}
});
}
可以从单选按钮 onChange
事件处理程序调用 getNestedQuestions
函数,并传递父问题 ID。
关于java - 在单选按钮上渲染列表选择设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11458301/