Hello !
Je travaille actuellement sur un site web réalisé en JSP, et j'ai un petit soucis par rapport à une liste <html:select>.
Je souhaite récupérer la valeur sélectionnée dans la liste, mais actuellement je ne reçoit aucune réponse dnas ma JSP.
Ma JSP:
<% BeanAnnee beanNextYear = (BeanAnnee)session.getAttribute("beanNextYear");
BeanUser beanUser = (BeanUser)session.getAttribute("beanUser");
int groupe = beanUser.getGroup(); %>
<c:set var="groupe" scope="page" value="<%=groupe%>"></c:set>
<c:if test="${(groupe==9)||(groupe==2)}">
<h1>
<bean:message key="pages.c07.newYearTitle"/>
</h1>
<html:form action="/actionC07CreateNewYear">
<table border="1">
<tr>
<td>
<bean:message key="pages.c07.dateStart"/>
</td>
<td>
<html:select property="dayBegin">
<%
for (int i = 1; i <= 31; i++) {
String te = Integer.toString(i); %>
<html:option value="<%=te%>"/>
<%}%>
</html:select>
<html:select property="monthBegin">
<%
for (int i = 1; i <= 12; i++) {
String te = Integer.toString(i);%>
<html:option value="<%=te%>"/>
<%} %>
</html:select>
<!-- L'annee selectionnee correspond a la date de
debut de la prochaine annee scolaire -->
<html:select property="yearBegin">
<%
for (int i = 2006; i <= 2018; i++) {
String te = Integer.toString(i);
if(beanNextYear.getAnneeDebut() == i){%>
<option value="<%=te%>" selected="selected"><%=te%></option> <%}
else {%>
<option value="<%=te%>" ><%=te%></option>
<% } }%>
</html:select>
</td>
</tr>
<tr>
<td>
<bean:message key="pages.c07.dateEnd"/>
</td>
<td>
<html:select property="dayEnd">
<%
for (int i = 1; i <= 31; i++) {
String te = Integer.toString(i);
%>
<html:option value="<%=te%>"/>
<%} %>
</html:select>
<html:select property="monthEnd">
<%
for (int i = 1; i <= 12; i++) {
String te = Integer.toString(i);%>
<html:option value="<%=te%>"/> <%}%>
</html:select>
<!-- L'annee selectionnee correspond a la date de
fin de la prochaine annee scolaire -->
<html:select property="yearEnd"><%
for (int i = 2006; i <= 2018; i++) {
String te = Integer.toString(i);
if(beanNextYear.getAnneeFin() == i){%>
<option value="<%=te%>" selected="selected">
<%=te%>
</option><%}
else {%>
<option value="<%=te%>" >
<%=te%>
</option>
<% } }%>
</html:select>
</td>
</tr>
<tr>
<td>
<bean:message key="pages.c07.numFirstWeek"/>
</td>
<td>
<html:select property="numFirstWeek">
<html:option value="0"><bean:message key="pages.c07.option.week0"/></html:option>
<html:option value="1"><bean:message key="pages.c07.option.week1"/></html:option>
</html:select>
</td>
</tr>
</table>
<p>
<html:submit>
<bean:message key="button.save"/>
</html:submit>
</p>
</html:form>
</c:if>
Mon beanForm:
public String getNumFirstWeek(){
return numFirstWeek;
}
public void numFirstWeek(String numFirstWeek){
this.numFirstWeek = numFirstWeek;
}
Mon action:
BeanFormC07CreateNewYear beansForm = (BeanFormC07CreateNewYear) actionForm;
DataSource data = this.getDB(servletRequest);
Connection conn = data.getConnection();
String forward = ERROR;
HttpSession session = servletRequest.getSession();
BeanUser beanUser = (BeanUser) session.getAttribute("beanUser");
if (beanUser != null) {
WorkerDB workerDB = new WorkerDB();
//Teste si l'annee que l'utilisateur desire ajouter existe deja
if (!workerDB.getYearAlreadyExist(conn,
Integer.parseInt(beansForm.getYearBegin()))) {
BeanAnnee bean = new BeanAnnee();
bean.setAnneeCourante(1);
bean.setAnneeDebut(Integer.parseInt(beansForm.getYearBegin()));
bean.setAnneeFin(Integer.parseInt(beansForm.getYearEnd()));
bean.setAnneeScolaire(beansForm.getYearBegin() + "/" +
bean.getAnneeFin());
bean.setPremiereSemaineScolaire(beansForm.getNumFirstWeek());
String formatDate = "yyyy-MM-dd";
String sDateDebut = beansForm.getYearBegin() + "-" +
beansForm.getMonthBegin() +
"-" + beansForm.getDayBegin();
String sDateFin = beansForm.getYearEnd() + "-" +
beansForm.getMonthEnd() +
"-" + beansForm.getDayEnd();
Date dateDebut = this.stringToDate(sDateDebut, formatDate);
Date dateFin = this.stringToDate(sDateFin, formatDate);
bean.setDateDebut(dateDebut);
bean.setNumSemaineCivile(this.semaineCivile(dateDebut));
bean.setDateFin(dateFin);
bean.setNumSemaineCivileFin(this.semaineCivile(dateFin));
System.out.println("beansForm.getNumFirstWeek(): " + beansForm.getNumFirstWeek()); // -> affiche null
bean.setPremiereSemaineScolaire(beansForm.getNumFirstWeek());
session.setAttribute("newYear", bean);
Le bean BeanAnnee:
public class BeanAnnee implements Serializable {
public BeanAnnee() {
}
public int getAnneeDebut() {
return anneeDebut;
}
public void setAnneeDebut(int anneeDebut) {
this.anneeDebut = anneeDebut;
}
public int getAnneeCourante() {
return anneeCourante;
}
public void setAnneeCourante(int anneeCourante) {
this.anneeCourante = anneeCourante;
}
public int getPkAnnee() {
return pkAnnee;
}
public void setPkAnnee(int pkAnnee) {
this.pkAnnee = pkAnnee;
}
public Date getDateDebut() {
return dateDebut;
}
public void setDateDebut(Date dateDebut) {
this.dateDebut = dateDebut;
}
public Date getDateFin() {
return dateFin;
}
public void setDateFin(Date dateFin) {
this.dateFin = dateFin;
}
public int getNumSemaineCivile(){
return numSemaineCivile;
}
public void setNumSemaineCivile(int numSemaineCivile){
this.numSemaineCivile= numSemaineCivile;
}
public int getNumSemaineScolaire(){
return numSemaineScolaire;
}
public void setNumSemaineScolaire(int numSemaineScolaire){
this.numSemaineScolaire= numSemaineScolaire;
}
public int getAnneeFin(){
return anneeFin;
}
public void setAnneeFin(int anneeFin){
this.anneeFin= anneeFin;
}
public String getAnneeScolaire(){
return anneeScolaire;
}
public boolean isAnneeVerrouillee() {
return anneeVerrouillee;
}
public boolean isCalendrierVerrouille() {
return calendrierVerrouille;
}
public int getNumSemaineCivileFin() {
return numSemaineCivileFin;
}
public String getNumPremiereSemaineScolaire(){
return numPremiereSemaineScolaire;
}
public void setAnneeScolaire(String anneeScolaire){
this.anneeScolaire= anneeScolaire;
}
public void setAnneeVerrouillee(boolean anneeVerrouillee) {
this.anneeVerrouillee = anneeVerrouillee;
}
public void setCalendrierVerrouille(boolean calendrierVerrouille) {
this.calendrierVerrouille = calendrierVerrouille;
}
public void setNumSemaineCivileFin(int numSemaineCivileFin) {
this.numSemaineCivileFin = numSemaineCivileFin;
}
public void setPremiereSemaineScolaire(String numPremiereSemaineScolaire){
this.numPremiereSemaineScolaire = numPremiereSemaineScolaire;
}
Est-ce que quelqu'un saurait pourquoi la valeur sélectionnée n'est pas renvoyée?
Comment faut-il faire pour récupérer la valeur sélectionnée d'une <html:select>?
Je vous remercie d'avance pour votre aide !