Allora premesso che un campo hidden normalmente il visitatore non può modificarlo (almeno non agevolmente, ovvero devi passare via javascript) e che quindi non va bene inserire lì i dati se li vuoi modificare, qui non vediamo nemmeno la pagina in cui vai ad effettuare la modifica/salvataggio (o se fosse nella medesima pagina, visto che l'action del form non è specificata, non vediamo il codice che si occupa di tale recupero/salvataggio).

L'altra mia obiezione riguarda il modo in cui stai gestendo il tutto: mostri un array di oggetti "Libro", ok, ma i campi li chiami tutti alla stessa maniera. OK anche questo, visto che JSP se non ricordo male riesce comunque a gestire campi con nomi ripetuti (cosa che invece PHP fa male e per cui c'è la sintassi standard: name="nome_campo_ripetuto[i]"): ti serve davvero complicarti la vita con un form unico in cui gestire tutte le modifiche a tutti i titoli in una sola volta piuttosto che avere una pagina che si occupa di mostrare i titoli in elenco ed una pagina predisposta alla modifica di un titolo alla volta?