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
- 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 <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>
- 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
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; }
Merci de votre aide !
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; }
Partager