Per favore mi puoi dire che ha di sbagliato questo esercizio che praticamente consente di scegliere una preferenza tramite combobox, e calcolare la percentuale delle preferenze di una certa opzione.
[CODE]
<form action="CalcolaSondaggio">
<table border="1">
<tr>
<th></th>
<th>Opzione</th>
<th>%</th>
</tr>
<tr>
<%
String scelta = (String)request.getSession().getAttribute("ultimaP referenza");
if (scelta!=null)
if (scelta.equals("a")) {
%>
<td><input type="radio" name="voto" value="A" checked="checked"/></td>
<%
} else {
%>
<td><input type="radio" name="voto" value="A" /></td>
<%
}
%>
<td>Voto Alto</td>
<td><%= request.getSession().getAttribute("fA") %></td>
</tr>
<tr>
<%
scelta = (String)request.getSession().getAttribute("ultimaP referenza");
if (scelta!=null)
if (scelta.equals("m")) {
%>
<td><input type="radio" name="voto" value="M" checked="checked"/></td>
<%
} else {
%>
<td><input type="radio" name="voto" value="M" /></td>
<%
}
%>
<td>Voto Medio</td>
<td><%= request.getSession().getAttribute("fM") %></td>
</tr>
<tr>
<%
scelta = (String)request.getSession().getAttribute("ultimaP referenza");
if (scelta!=null)
if (scelta.equals("b")) {
%>
<td><input type="radio" name="voto" value="B" checked="checked"/></td>
<%
} else {
%>
<td><input type="radio" name="voto" value="B" /></td>
<%
}
%>
<td>Voto Basso</td>
<td><%= request.getSession().getAttribute("fB") %></td>
</tr>
</table>
<input type="submit" value="vota">
</form>
[/SPOILER]
e poi nel file java:
codice:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Integer totale = (Integer) (request.getSession().getAttribute("totale"));
Integer totA = (Integer) (request.getSession().getAttribute("totA"));
Integer totM = (Integer) (request.getSession().getAttribute("totM"));
Integer totB = (Integer) (request.getSession().getAttribute("totB"));
if (totale == null)
totale = 0;
if (totA == null)
totA = 0;
if (totM == null)
totM = 0;
if (totB == null)
totB = 0;
String voto = request.getParameter("voto");
if ("A".equals(voto)) {
totA++;
request.setAttribute("ultimaPreferenza", "a");
}
else if ("M".equals(voto)) {
totM++;
request.setAttribute("ultimaPreferenza", "m");
}
else if ("B".equals(voto)) {
totB++;
request.setAttribute("ultimaPreferenza", "b");
}
totale = totA + totM + totB;
request.getSession().setAttribute("totale", totale);
request.getSession().setAttribute("totA", totA);
request.getSession().setAttribute("totM", totM);
request.getSession().setAttribute("totB", totB);
request.getSession().setAttribute("fA", 100.0 * totA / totale);
request.getSession().setAttribute("fM", 100.0 * totM / totale);
request.getSession().setAttribute("fB", 100.0 * totB / totale);
request.getRequestDispatcher("sondaggio.jsp").forward(request, response);
}
Non funziona il maledetto, dove sbagliooooo
che differenza c'è tra <% ... e <%= ...?