Problème passage de paramètre à un bean
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:
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:
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:
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 !