Originariamente inviato da Wezen
{<%String tmp=request.dati.D1;
Se lo fai come scriptlet ovviamente request.dati.D1 è una sintassi sbagliata, request è un HttpServletRequest e non ha di certo un campo dati o roba simile.

String tmp = request.getParameter ("D1");

Il nome del form inviato non c'è da nessuna parte nella request.