2016-03-22 27 views
0

OptionGroupModel ve OptionModel kullanarak goblen grubunda grupListing elde etmek istiyorum. SelectModelImpl ile bir NULL işaretçi hatası alıyorum. Bu konuda nereye yanlış gittiğimi bilmiyorum. Başka bir örnek ise, onları başka bir yolla grup halinde görüntülediğimde, seçili olmayan modellerin seçili kalırken sayfayı yenilemeleridir. aşağıdaki gibiGoblen: org.apache.tapestry5.internal.util.SelectModelRenderer.option adresindeki java.lang.NullPointerException (SelectModelRenderer.java:49)

<div t:type="ck/Tooltip" title="${message:savedCriteria.ttpTitle}" value="${message:savedCriteria.ttpValue}" effect="appear"> 
    <t:select t:id="SavedCriteria" validate="required" model="savedCriteria" value="prop:currentCriteria" t:mixins="OnSelectChangeActionLink"  optionModels="savedCriteria.options" selectChangeEncoder="singleValueEncoder" /> 
</div> 

formüllerle kapma kodudur: i yanlış gidiyorum

public SelectModel getFormulas() throws Exception { 
    //return new SelectModelImpl(createOptionGroups(getFormulaList(), getFormulaLabelList()), null); 
    //return new SelectModelImpl(selectService.getFormulaGroupByWhereClause("T_FORMULALIST", "ID", "FORMULANAME", "LOCALEPARENT", LanguageQueries.getLanguageByCode(getUserLanguage()), "showInAnalyzer", true, this.listFormulas), null); 

    return new AbstractSelectModel() { 

     private List<OptionGroupModel> groupModels = null; 

     public List<OptionModel> getOptions() { 
      return null; 
     } 

     public List<OptionGroupModel> getOptionGroups() { 
      if (groupModels == null) { 
       computeModel(); 
      } 
      return groupModels; 
     } 

     private void computeModel() { 
      groupModels = createOptionGroups(getFormulaList(), getFormulaLabelList()); 
     } 
    }; 
} 

private List<OptionGroupModel> createOptionGroups(LinkedHashMap<String, Integer> formulaList, LinkedHashMap<String, String> formulaLabelList) 
{ 
    final List<OptionGroupModel> optGroupList = new ArrayList<OptionGroupModel>(); 
    for (Iterator<?> iterator = formulaLabelList.keySet().iterator(); iterator.hasNext();) { 
     String key = (String) iterator.next(); 
     String group = formulaLabelList.get(key); 
     List<OptionModel> optList = new ArrayList<OptionModel>(); 
     for (Iterator<?> i = formulaList.keySet().iterator(); i.hasNext();) { 
      String optionKey = (String) i.next(); 
      Integer option = formulaList.get(optionKey); 
      String optionCompare = formulaList.get(optionKey).toString(); 
      if(key.equalsIgnoreCase("Uncategorized") && option == null){ 
       optList.add(new OptionModelImpl(optionKey, option)); 
      } else if((optionCompare.contains(group)) && !(optionKey.contains("*"))) { 
       optList.add(new OptionModelImpl(optionKey, option)); 
      } 
     } 
     if(optList.size() > 0) { 
      OptionGroupModel groupModel = new OptionGroupModelImpl(key, false, optList); 
      optGroupList.add(groupModel); 
     } 
    } 
    return optGroupList; 
} 

Tür bana yardımcı yardımcı olur. Neyi başarmak istediğimde, seçtikleri öğeler de mevcut listeye geri dönmeliyim.

cevap

0

Sonuçları seçili tarafa taşıyan bir javascript dosyası oluşturarak bunu çözdüm ve tam tersi, ben de javascript dosyasındaki grupları

etiketini kullanarak oluşturuyorum
İlgili konular