Bonjour,

Je souhaiterais passer à un bean un paramètre entré par un utilisateur. Cela paraît simple et pourtant j'ai une erreur qui me dit "javax.faces.FacesException: #{deleteFilesBean.deleteFilesAction}: javax.faces.el.EvaluationException: java.lang.IllegalArgumentException: Could not find parameter 'monthNumber' in request parameters"

Voici le code :

- fichier jsp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<h:form id="deleteForm">
                <p id="deleteBox">
 
                    <h:inputText styleClass="field" value="#{loginBean.monthNumber}">                                                    
                        <f:convertNumber type="number" integerOnly="true"/>
                    </h:inputText>            
 
                    <h:commandButton id="deleteButton" image="images/buttonDelete.gif" action="#{deleteFilesBean.deleteFilesAction}" disabled="false" onclick="return">
                        <f:param name="monthNumber" value="#{loginBean.monthNumber}"/>            
                    </h:commandButton>
 
                    <h:message for="monthNumber" styleClass="errorMessage"/>
                </p>
 
            </h:form>
- fonction deleteFilesAction + fonction getParameter du bean deleteFilesBean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
    public void deleteFilesAction() throws Exception{        
 
        int monthNumber=Integer.parseInt(getParameter("monthNumber"));
        Date deleteDate= getDeleteDate(monthNumber);
 
        try{
            deleteFiles(deleteDate);
        }catch(Exception e){
            System.out.println(e);
        }
    }
 
    public String getParameter(String parameterName) {
        Map parameters = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
        String value = (String)parameters.get(parameterName);
        if (value == null || value.length() == 0) {
            throw new IllegalArgumentException("Could not find parameter '" + parameterName + "' in request parameters");
        }
             return value;
         }
- getter et setter de loginBean

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
private Integer monthNumber;
 
    public void setMonthNumber(Integer monthNumber) {
        this.monthNumber = monthNumber;
        System.out.println("SET="+monthNumber);        
    }
 
    public Integer getMonthNumber() {
        System.out.println("GET"+monthNumber);
        return monthNumber;
    }
Merci de votre aide !