2012-07-12 66 views
0

我有一個列表中有一個定義在其中的另一個列表。因此,假設它們是一個反射對象(列表內列表內的列表......等等)。在我看來,我從一個YES/NO問題開始,基於YES,我必須展示一組數據。再次當用戶選擇YES顯示設置時。在單選按鈕選擇設計上的渲染列表

我可以通過構造問題並在呈現給客戶端之前隱藏它們來實現此目的,並且當用戶選中YES時,我啓用該集合。但是我正在使用的集合非常龐大,因此我不想渲染收集和隱藏,如果這是沒有用的。我想知道是否有更好的方式來實現這一目標。(Spring MVC的3,Java 6中)

感謝

+0

我建議看看使用ajax返回一個json對象,然後你可以構造你的元素。 – MrOBrian 2012-07-12 18:33:46

回答

1

要只加載「嵌套」的問題,當你真正需要它,你可以使用AJAX。如果你正在使用jQuery

public class Question { 

    private int id; 
    private String text; 

    // ... 

} 
在你的頁面

然後: 例如,在你的Spring MVC控制器,你可以實現這樣的方法:

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

Question可能是一個簡單的對象

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。