Questa riga di codice non ha alcun senso né per l'HTML (vedi anche parte in grassetto), né per la parte Java della JSP.
codice:
<input type='submit' String id='<%="titolo"%>' name='compra' value='compra' />
Quello che devi fare è inserire il valore dell'id nell'attributo "value" di un controllo input che faccia parte del form (ad esempio un input di tipo "hidden"). Il "submit" rappresenta solo il pulsante che scatena la richiesta... il suo "valore" solitamente non ha alcun significato ed è solo ciò che viene renderizzato a video.
codice:
<form method="get" action="...">
...
<input type="hidden" name="mioID" value="<%= titolo %>" />
<input type="submit" value="compra" />
</form>
Lo recupererai, semplicemente, prendendo il valore di "mioID" dalla request:
codice:
String mioID = request.getParameter("mioID");
Ciao.