How to save many objects in a spring <form:form>

前端 未结 1 1752
渐次进展
渐次进展 2020-12-06 13:57
@Component
@Entity
@Table(name=\"menu\")
@Configurable
public class Menu implements Serializable{      
    ....        
    @OneToMany(mappedBy=\"menu\", fetch=Fetc         


        
相关标签:
1条回答
  • 2020-12-06 14:33

    The elements of a Set cannot be accessed by index. You will need to add methods which return a List wrapping your set.

    @Component
    @Entity
    @Table(name="menu")
    @Configurable
    public class Menu implements Serializable{      
        ....        
        @OneToMany(mappedBy="menu", fetch=FetchType.EAGER)
        private Set<VoceMenu> voceMenus; 
    
        public Set<VoceMenu> getVoceMenus() {
            return voceMenus;
        }
    
        public void setVoceMenus(Set<VoceMenu> voceMenus) {
            this.voceMenus = voceMenus;
        }
    
        //bind to this
        public List<VoceMenu> getVoceMenusAsList(){
            return new ArrayList<VoceMenu>(voceMenus);
        }
        .....   
    }
    

    JSP:

    <form:form action="editMenu" method="post" commandName="menu"> 
         Menu id<form:input path="id" maxlength="11"/><br/>       
         ...... 
        <c:forEach items="${menu.voceMenusAsList}" varStatus="counter">            
            <form:input path="voceMenusAsList[${counter.index}].id" maxlength="11"/>
                 .....
        </c:forEach>
        <input type="submit">
    </form:form>
    
    0 讨论(0)
提交回复
热议问题