sono parecchio stanco e per questo non ho seguito per bene i vari post intermedi ma mi sembra che devi semplicemente definire una variabile tramite il tag bean:define:
Codice PHP:
<bean:define id="elenco" name="myId" property="desc" />
Questa riga di codice crea una variabile con ambito pagescope (visibile solo dalla jsp). Quindi puoi tranquillamente utilizzarla all'interno di uno scriptlet:
Codice PHP:
<logic:present name="<%= elenco %>">
<html:options collection="<%= elenco %>" property="value" labelProperty="label" />
</logic:present>
Questa soluzione è stata implementata diverse volte nei miei progetti.
Anzi puoi provare addirittura questo (senza scriptlet), però non garantisco che funzioni:
Codice PHP:
<logic:present name="elenco">
<html:options collection="elenco" property="value" labelProperty="label" />
</logic:present>
Dovrebbe funzionare perché l'attributo name scandaglia i vari scope alla ricerca del valore passato come parametro. Se non erro parte dalla sessione per arrivare a pagescope.