Olá pessoal.
Estou fazendo uma app com struts.
Tenho um form bean que tem uma collection de outros beans. Aí eu preciso iterar nessa colecao que está dentro do bean…configurei até um parâmetro property no iterate, coisa e tal.
Depois, eu itero na collection para montar uma combobox(html select) com os valores, e na hora de criar os itens(option) eu preciso passar o id do bean da iteracao como “chave” do elemento e a descricao para aparecer no combo.
Vejam a linha com * no final. Esta linha deveria funcionar e pegar o id do elemento atual do iterate, mas ao invés disso o valor $(iterateId.activityId) é impresso literalmente como value do elemento option.
A linha com ** funciona como deveria funcionar, mas está fora do id do option…
Em princípio estava tentanto com bean:write e ocorria o mesmo problema(escrever a expressão literalmente), aí disseram para fazer com jstl($…), mas o problema é que expressão nunca é avaliada.
Vc sabem como resolver isso?
<html:select property=“activityId”>
<logic:iterate id=“iterateId” name=“projectDetailForm”
property=“activity”>
<html:option value="${iterateId.activityId}" >* não funciona
<c:out value=’${iterateId.activityId}’/>** ok
<bean:write name=“iterateId” property=“name” />
</html:option>
</logic:iterate>
</html:select>
Um abraço