spring 3 mvc 保存多个实体

国外例子:

实体

public class Team {
     private String teamName;
     private String coach;
     private List<Player>  players;
     public Team() {
           players = LazyList.decorate
                   (new ArrayList<Player>(),
                    new InstantiateFactory(Player.class));
     }

     //accessor methods
}

public class Player {
    private String name;
    private String age;

    //accessor methods
}

控制层controller

public class GetTeamController extends SimpleFormController {
        public GeTeamController(){
        setCommandClass(Team.class);
        setCommandName("team");
    }

    @Override
    protected ModelAndView onSubmit(Object command)
                     throws Exception
        {
        Team team = (team) command;
                persist(team);
        return new ModelAndView(getSuccessView());
    }
}

 

页面jsp:

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>

<form:form commandName="team" id="teamForm">
   Team Name<form:input path="teamName"><br/>
   Coach<form:input path="coach"/>
   <input type="button" value="add player" onclick="addInput()"/>
   <input type="submit"/>
 </form:form>

 

动态添加js

function addPlayer() {
 document.getElementById(the id of the form).innerHTML +=

"New Player<br/>
  <input type='text' name='players["+ index in arraylist where the player is going to added +"].name'>
  <br />
  <input type='text' name='players["+ same index as above +"].age'>
  <br />";
}

 

经过这几个例子,应该明白了吧。

你可能感兴趣的:(spring,mvc,jsp)