Dear All
I use JDO  with spring
and when i add @ModelAttribute("countries")
All things go fine except the data not saved without any exception
When query from another datastore


@Controller
public class PortController  {

private static final String FORM_MODEL_KEY = "ports";

private static final String FORM_UPDATE_KEY = "port/Edit";

private static final String REDIRECT_LIST_VIEW_KEY = "redirect:/port/
home.htm" ;

  @Autowired
  private PortDAO portDAO;
  @Autowired
  private CountryDAO countryDAO;

  public PortController() {}



  @InitBinder
  protected void initBinder(HttpServletRequest request,
                  ServletRequestDataBinder binder) throws Exception {
          binder.registerCustomEditor(String.class, new
StringTrimmerEditor(false));
          binder.registerCustomEditor
(com.xesolution.domain.Country.class, new CountryEditor(countryDAO));

  }

  @RequestMapping(value="/port/home.htm")
  public ModelMap list() {
      return new ModelMap(FORM_MODEL_KEY,portDAO.readAll());
  }
  @RequestMapping(value="/port/new.htm")
  public ModelAndView create(){
              Port port = new Port();
              return new ModelAndView(FORM_UPDATE_KEY,FORM_MODEL_KEY,port);
          }
 @RequestMapping(value="/port/update.htm")
  public ModelAndView update(@RequestParam("id") String id) {
          Port result = portDAO.read(id);
      return new ModelAndView(FORM_UPDATE_KEY,FORM_MODEL_KEY, result);
  }


  @RequestMapping(value="/port/save.htm", method = RequestMethod.POST)
  public ModelAndView save(@ModelAttribute(FORM_MODEL_KEY) Port port,
BindingResult result, SessionStatus status) {

      new PortValidator().validate(port, result);
      if (result.hasErrors())
      {
        return new ModelAndView(FORM_UPDATE_KEY, FORM_MODEL_KEY,
port);
      }
      else
      {
        portDAO.persist(port);
        return new ModelAndView(FORM_UPDATE_KEY, FORM_MODEL_KEY, port);
        return new ModelAndView(REDIRECT_LIST_VIEW_KEY, list());
      }
  }

        @ModelAttribute("countries")
        public List<?> populateCountry() {
                //this make data not saved
                return countryDAO.readAll();
                //But this make the data saved
                //return portDAO.readAll();
        }

  public void setPortDAO(PortDAO portDAO) {
    this.portDAO = portDAO;
  }
}
and this is jsp line which display the form select
<form:select path="country" items="${countries}" itemLabel="name"
itemValue="id"/>

--

You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=.


Reply via email to