2016-08-26 3 views
0

Я пытаюсь создать выпадающее меню, которое будет иметь динамические значения на моей странице jsp, но получая исключение, я пытаюсь использовать здесь теги весны.Попытка создать раскрывающееся меню на моей странице jsp

WebController.java

@RequestMapping(value="/addAchivement",method=RequestMethod.GET) 
public String addAchievements(){ 

    Object object=null; 
    try { 
     object = genericAppProcessor.checkLogin(username, password,null,null); 
    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    SchoolLoginDetails sld=new SchoolLoginDetails(); 
    sld=(SchoolLoginDetails)object; 
    List<GroupDetails> list=new ArrayList<GroupDetails>(); 
    list=(List<GroupDetails>) sld.getGroupDetails(); 
    Set<Object> addedClass = new HashSet<Object>(); 
    Set<Object> addedSection = new HashSet<Object>(); 

    Map referenceData = new HashMap(); 
    Map<Object,Object> classs = new LinkedHashMap<Object,Object>();   

    for(int i=0;i<list.size();i++){ 
    Object obj=list.get(i).getClazz(); 
    Object objj=list.get(i).getSection(); 
    addedClass.add(obj); 
    addedSection.add(objj); 
    List<Object> convertTolist=new ArrayList<Object>(addedClass); 
    classs.put(convertTolist.get(0),convertTolist.get(0)); 
    addedClass.clear(); 
    } 



    referenceData.put("classList",classs); 

    return "addAchivement"; 
} 

addAchivement.jsp

<form:form method="POST" role="form" action="/GenericApp/addWebAchievement" enctype="multipart/form-data"> 

<form:select path="classs"> 
     <form:options items="${classList}" /> 
</form:select> 

Исключение: -

org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/addAchivement.jsp at line 72 

<div class="input-field col s12 m4 l3" > 
    <!--Line 72 --> <form:select path="classs" class="text-black custom-select"> 
         <form:options items="${classList}" /> 
        </form:select> 

ответ

2

вам нужно вернуть модель и посмотреть, а не только возвращая вид использования ниже код :

// Java Code

 @RequestMapping(value="/addAchivement",method=RequestMethod.GET) 
    public ModelAndView addAchievements(){ 
    Object object=null; 
try { 
    object = genericAppProcessor.checkLogin(username, password,null,null); 
} catch (ParseException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
SchoolLoginDetails sld=new SchoolLoginDetails(); 
sld=(SchoolLoginDetails)object; 
List<GroupDetails> list=new ArrayList<GroupDetails>(); 
list=(List<GroupDetails>) sld.getGroupDetails(); 
Set<Object> addedClass = new HashSet<Object>(); 
Set<Object> addedSection = new HashSet<Object>(); 

Map referenceData = new HashMap(); 
Map<Object,Object> classs = new LinkedHashMap<Object,Object>();   

for(int i=0;i<list.size();i++){ 
Object obj=list.get(i).getClazz(); 
Object objj=list.get(i).getSection(); 
addedClass.add(obj); 
addedSection.add(objj); 
List<Object> convertTolist=new ArrayList<Object>(addedClass); 
classs.put(convertTolist.get(0),convertTolist.get(0)); 
addedClass.clear(); 
} 



referenceData.put("classList",classs); 
ModelAndView mav = new ModelAndView("addAchivement", referenceData); 

return mav; 

}

Вы назначаете путь к classs в вашей Jsp

<!--Line 72 --> <form:select path="classs" class="text-black custom-select"> 

но вы ничего от модели, на которой эта переменная класса может отображать так не отправлять вам нужно использовать modelAttribute в своей весенней форме, чтобы эта переменная класса могла отображаться.

например. : вам нужно создать объект класса, который имеет класс в качестве члена:

ниже изменения кода Java:

referenceData.put("classList",classs); 
    referenceData.put("classObject",class); // Here class is a object that has class attribute by which that value in jsp will bind . 
    ModelAndView mav = new ModelAndView("addAchivement", referenceData); 

Вот Jsp Код изменения:

<form:form method="POST" role="form" action="/GenericApp/addWebAchievement" enctype="multipart/form-data" modelAttribute="classObject"> 

<form:select path="classs"> 
     <form:options items="${classList}" /> 
</form:select> 

Пример объекта класса:

public Class{ 

String classs ; 

// getter setter for classs member variable . 

    } 
+0

@ Mr.Noob ok Я попробую и дам вам знать –

+0

@ Mr. Noob java.lan g.IllegalStateException: ни BindingResult, ни обычный целевой объект для bean name 'command', доступный как атрибут запроса .... получил это исключение .. –

+0

@RohitGoswami, пожалуйста, проверьте обновленный пост и вернитесь, если возникли проблемы и не путайте с классом именования и классы :) –

Смежные вопросы