I think there is still a bug with <h:selectmanycheckbox> within <h:form 
enctype="multipart/form-data"> despite 
http://jira.jboss.org/jira/browse/JBSEAM-706

JBoss 4.0.5 / JSF 1.2 / Seam 1.1.6

Here is an example showing the bug and working without 
enctype="mulipart/form-data"



  | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
  | <html   xmlns="http://www.w3.org/1999/xhtml";
  |             xmlns:ui="http://java.sun.com/jsf/facelets";
  |             xmlns:h="http://java.sun.com/jsf/html";
  |             xmlns:f="http://java.sun.com/jsf/core";>
  |             
  | <head>
  |     <title>Manycheckbox and multipart error</title>
  | </head>
  | <body>
  |     <f:view>
  |                     <div>
  |                             <h:form enctype="multipart/form-data">
  |                                     <h:selectManyCheckbox 
value="#{errorAction.selectedErrors}">
  |                                             <f:selectItems 
value="#{errorItems}" />
  |                                     </h:selectManyCheckbox> 
  |                                     <h:commandButton 
action="#{errorAction.save}" value="Save"/>
  |                                     <h:messages/>
  |                             </h:form>
  |                     </div>  
  |     </f:view>       
  | </body>
  | </html>             
  | 

and POJO :


  | package com.genericsystem.error;
  | 
  | import java.io.Serializable;
  | import java.util.Arrays;
  | import java.util.List;
  | 
  | import javax.faces.model.SelectItem;
  | 
  | import org.jboss.seam.annotations.Factory;
  | import org.jboss.seam.annotations.In;
  | import org.jboss.seam.annotations.Logger;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.annotations.Out;
  | import org.jboss.seam.core.FacesMessages;
  | import org.jboss.seam.log.Log;
  | 
  | @Name("errorAction")
  | public class ErrorAction implements Serializable {
  |     private static final long serialVersionUID = 7654273335405896287L;
  |     
  |     @Logger Log log;
  |     
  |     @In(required=false) @Out(required=false)
  |     List<SelectItem> errorItems;
  |     
  |     private List<String> selectedErrors;
  |     
  |     public List<String> getSelectedErrors() {
  |             return (List<String>)Arrays.asList(new 
String[]{"Error1","Error2"});
  |     }
  |     
  |     public void setSelectedErrors(List<String> selectedErrors) {
  |             this.selectedErrors = selectedErrors;
  |     }
  |     
  |     @Factory("errorItems")
  |     public void findErrorItems(){
  |             errorItems = (List<SelectItem>)Arrays.asList(new 
SelectItem[]{new SelectItem("Error1","Error1"),
  |             new SelectItem("Error2","Error2"),new 
SelectItem("Error3","Error3"),new SelectItem("Error4","Error4")});
  |     }
  |     
  |     public String save(){   
  |             FacesMessages.instance().add("save : ");
  |             for (String error : selectedErrors){
  |                     log.info("**************  selectedError : "+error+"  
***************");
  |                     FacesMessages.instance().add("selectedError : "+error);
  |             }
  |             return "/error.xhtml";
  |     }
  |     
  | }
  | 
  | 

Best regards
Nicolas

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4016511#4016511

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4016511
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to