Ajuda com struts

3 respostas
B

Caros colegas,

Estou desenvolvendo um pequeno sistema academico usando struts, no momento tenho que desenvolver um formulário para lançamento de frequencia dos alunos da seguinte forma:

O usuário seleciona uma turma e prenche uma data.
O sistema entao exibe em uma tabela as seguintes colunas, na primeira o nome de todos os alunos da turma, na segunda um check box, onde será marcada a frequencia dos alunos.

Bom, gostaria de ajuda para montar esse formulário.

A tabela é preenchida através da tag Logic:iterate.

Quando essa pagina for submetida para a action, o conteúdo que é preenchido pela Logic:iterate é totalmente enviado para a action?

Valeu

3 Respostas

mcruz

Olha, eu uso a seguinte TagLibrary:

<%@ taglib uri="/WEB-INF/c-1_0-rt.tld" prefix="rt" %>

E monto a tabela como segue:

<html:form action="processFrequency.do">
<table>
<rt:forEach items="${lista}" var="aluno" varStatus="contador">
   <tr>
      <td>
         <html:multibox property="idAlunos">
	${aluno.id}
         </html:multibox>
      </td>
      <td>
         ${aluno.nome}
      </td>
   </tr>
</rt:forEach>
</table>
</html:form>

Você deve declarar um bean com a seguinte propriedade:

package myPackage;
import org.apache.struts.action.ActionForm;
public class BeanFrequency extends ActionForm {
   private String[] idAlunos = {};
   ... // setter and getter methods
}

E mapeá-lo para o formulário como segue (no struts-config.xml):

<form-bean name="myFormFrequency" type="myPackage.BeanFrequency"/>
...
<action path="/processFrequency" 
          type="myPackage.ActionProcessFrequency"
          ...
          name="myFormFrequency">
          ...
</action>

E recuperá-lo como segue no seu action:

BeanFrequency bf = (BeanFrequency) form;

Aí vc passa a propriedade (bf.getIdAlunos()) do tipo String[] para o método da classe model que vai processar as freqüências. Faz as devidas conversões e pronto.

B

E ai blz?

Cara, fiz o que vc falou, ms estou tendo um pequeno problema… o checkbox nao esta aparecendo, aparece somente o numero 0, será por que?

Valeu

B

bsferreira:
E ai blz?

Cara, fiz o que vc falou, ms estou tendo um pequeno problema… o checkbox nao esta aparecendo, aparece somente o numero 0, será por que?

Valeu

Consegui resolver o problema do multibox nao aparecer, estou usando o dojo, e na tabela a sorted table do dojo, quando tirei fora da tabela do dojo funcionou corretamente. Agora o problema é o seguinte, como fazer esse checkbox aparecer na tabela do dojo.

Criado 10 de outubro de 2006
Ultima resposta 19 de out. de 2006
Respostas 3
Participantes 2