在spring mvc中获得多个选择

时间:2014-05-03 13:22:34

标签: spring jsp java-ee spring-mvc

在项目创建视图中,我需要一个选择框,其中显示所有Utilisateur谁拥有Rolename Chef Projet

以下是Projet,Utilisateur最重要的摘录: 项目:

@Entity
@Table(name="Projet")
public class Projet implements Serializable{

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long idProjet;

    @ManyToMany
        @JoinTable(name="Join_Membre_projet",joinColumns={@JoinColumn(name="idProjet")},inverseJoinColumns={@JoinColumn(name="idUser")})
        private Collection<Utilisateur> myUser;

public Collection<Utilisateur> getMyUser() {
        return myUser;
    }

    public void setMyUser(Collection<Utilisateur> u) {
        this.myUser = u;
    }

用户:

@Entity
@Table(name="Utilisateur")
public class Utilisateur implements Serializable {

        @Id
        @GeneratedValue(strategy=GenerationType.IDENTITY)
            private Long idUser;


 @ManyToMany
@JoinTable(name="Join_Membre_projet",joinColumns={@JoinColumn(name="idUser")},inverseJoinColumns={@JoinColumn(name="idProjet")})
private Collection<Projet> mesProjets;

然后,在提交表单时,应将所选用户分配给项目。

Projets.jsp:

 <tr><td>Nom Membre<td>
    <c:forEach items="${Projets}" var="listEntry">
   <td><f:select path="myUser[${listEntry.key}].idUser" multiple="true" itemValue="idUser" itemLabel="nomUser"> 
            </f:select>
        </td>   
        </c:forEach>
        </tr>   

AdminController:

@Controller
@RequestMapping(value="/directeur")
public class AdminController {
    @Autowired
    private IAdmin directeur;
    @RequestMapping(value="/index")
    public String index(Model model)
    {
        model.addAttribute("Projet",new Projet());
        model.addAttribute("Projets",directeur.getAllProjet());
        model.addAttribute("Chef",directeur.getAllSimpleMembre("Chef Projet"));
        return "Projets";

    }
    @RequestMapping(value="/saveProjet",method = RequestMethod.POST)
    public String saveProjet(@ModelAttribute("Projet") Projet p, @Valid BindingResult result,Model model)
    {


        directeur.ajouterProjet(p);
        model.addAttribute("Projet",new Projet());
        model.addAttribute("Projets",directeur.getAllProjet());
        return "Projets";
    }
}

这是堆栈跟踪:

org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/views/Projets.jsp at line 45

42:             </tr>
43:             <tr><td>Nom Membre<td>
44:             <c:forEach items="${Projets}" var="listEntry">
45:                 <td><f:select path="myUser[${listEntry.key}].idUser" multiple="true" itemValue="idUser" itemLabel="nomUser">    
46:                 </f:select>
47:                 </td>   
48:             </c:forEach>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:209)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1217)
    org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1005)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:952)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)


cause mère 

javax.el.PropertyNotFoundException: Property 'key' not found on type com.gestion.projet.entitiez.Projet
    javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:266)
    javax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:243)
    javax.el.BeanELResolver.property(BeanELResolver.java:353)
    javax.el.BeanELResolver.getValue(BeanELResolver.java:97)
    org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
    org.apache.el.parser.AstValue.getValue(AstValue.java:183)
    org.apache.el.parser.AstDynamicExpression.getValue(AstDynamicExpression.java:43)
    org.apache.el.parser.AstCompositeExpression.getValue(AstCompositeExpression.java:49)
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
    org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:967)
    org.apache.jsp.WEB_002dINF.views.Projets_jsp._jspx_meth_f_005fselect_005f0(Projets_jsp.java:631)
    org.apache.jsp.WEB_002dINF.views.Projets_jsp._jspx_meth_c_005fforEach_005f0(Projets_jsp.java:598)
    org.apache.jsp.WEB_002dINF.views.Projets_jsp._jspService(Projets_jsp.java:327)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:209)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1217)
    org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1005)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:952)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

0 个答案:

没有答案