Hi all

I am very new to spring MVC and I am having a problem. I have a drop down
list in my web form. i am able to create a new entry without any problem.
but when I try to update the value of the form, it doesn't selected the
value from the drop down list.( this is very annoying, so I have to choose
the value again for the drop down list every time).

I have tried to find out what cause it and I couldn't find out why.

here is my code.

in the BidFormController.java
protected Map<String, List<Operator>> referenceData(HttpServletRequest
request){
        List<Operator> list = operatorManager.getAll();
        Map<String, List<Operator>> map = new HashMap<String, List<Operator>>();
        map.put("operators", list);
        return map;
}

protected Object formBackingObject(HttpServletRequest request)throws
Exception {
        String id = request.getParameter("id");
        if (id != null && request.getMethod().equalsIgnoreCase("get")){
                Bid bid = bidManager.get(new Long(id));
                return bid;
        }
        return new Bid();
}


public void initBinder(HttpServletRequest request, ServletRequestDataBinder
binder){
        //super.initBinder(request, binder);
        StringToObjectCustomEditor propertyEditor = new
StringToObjectCustomEditor();
        propertyEditor.setGenreicManager(operatorManager);
        binder.registerCustomEditor(Operator.class, propertyEditor);
}

in bidForm.jsp

<form:select path="operator">
        <form:option value="" label="--Please Select" />
        <form:options items="${operators}" itemValue="id" itemLabel="name"/>
</form:select>


in StringToObjectCustomEditor.java

/**
 * this class is mainly converting the string(the ID in the string form) to
Object
 * the Object must extends the #link{TanBaseObject}.
 * 
 */
import java.beans.PropertyEditorSupport;
import com.tantalus.app.model.bid.TanBaseObject;
import com.tantalus.app.service.GenericManager;

/**
 * this class can only convert Object that extends TanBaseObject
 * @author ben.li
 *
 */
public class StringToObjectCustomEditor extends PropertyEditorSupport {


        @SuppressWarnings("unchecked")
        private GenericManager genericManager = null;
        @SuppressWarnings("unchecked")
        public GenericManager getGenericManager(){
                if (genericManager == null ) {
                        throw new RuntimeException("Didn't set GenericManager");
                }
                return genericManager;
        }
        
        @SuppressWarnings("unchecked")
        public void setGenreicManager(GenericManager genericManager){
                this.genericManager = genericManager;
        }
        @SuppressWarnings("unchecked")
        public void setAsText(String text){
                if ("".equals(text)){
                        setValue(null);
                }else {
                        setValue(genericManager.get(new Long(text)));
                }
        }
        public String getAsText(){
                TanBaseObject to = (TanBaseObject) getValue();
                if (to == null || to.getId() == null){
                        return null;
                }else {
                        TanBaseObject operator = (TanBaseObject) getValue();
                        return "" + operator.getId();
                }
        }
        @SuppressWarnings("unchecked")
        protected Object convertElement(Object element){
                
                if ( element != null){
                        Long id = new Long((String)element);
                        TanBaseObject object = (TanBaseObject) 
genericManager.get(id);
                        return object;
                }
                return null;
        }
}

Can someone please help me which part I did wrong?


Thanks in advance.



-- 
View this message in context: 
http://www.nabble.com/Spring-MVC-is-not-able-to-select-the-selected-items-tp17442826s2369p17442826.html
Sent from the AppFuse - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to