Ajuda Struts e taglib bean:define para mudar condicionalmento o valor

Neste trecho de código que eu estou definindo um bean com bean : define. No entanto, eu quero condicionalmente alterar o valor.
De acordo com o doc struts, bean: define ou cria ou substitui um instância anterior do bean , conforme definido pelo id. No entanto, não entedo como isso é possível, como o bean : define realmente escreve em linha ou seja:

[code]<bean:define name=“blah” id="blah/> -> Objeto blah = “”;
<logic:iterate name=“page_of_results” indexId=“index” id=“thread”>

<bean:define scope=“page” name=“hot_topic” value=“false”
id=“hot_topic”/>

<logic:greaterThan name=“thread” property=“replyCount” value=“100”>
<bean:define scope=“page” name=“hot_topic” value=“true”
id=“hot_topic”/>
</logic:greaterThan>

.


<logic:equal name=“hot_topic” value=“true”>

</logic:equal>
</logic:iterate>
[/code]

Eu tentei substituir o outro bean: define com, scriptlets como no exemplo:

<logic:greaterThan name="thread" property="replyCount" value="100"> <%hot_topic="false"%> </logic:greaterThan>

Mas depois o bean: write, parece ter ignorado o scriptlet (possivelmente) devido à ordem de compilação do JSP vs tags?