Webwork - Apresentação JSP

3 respostas
eric_jf

Estou tentando mostrar em uma pagina JSP, alguns dados de um bean que eu criei. Só que alguns dos dados que eu preciso mostrar eu teho que fazer alguns calculos simples. contar o total de um valor da iteração e exibir posteriormente.

Eu faço isso na apresentação ou na Action criando um novo campo do bean?

<table border="1">
	<tr>
		<td>Instrutor</td>
		<td>Oficina</td>
		<td>Cidade</td>
		<td>Escola</td>
		<td> de professores</td>
		<td> de vagas oferecidas</td>
		<td> de professores/sessão</td>
		<td> total de professores</td>
		<td>% total de professores</td>
		<td> de professores ausentes</td>
	</tr>
	<ww:bean name="br.com.clickideia.capacitacao.model.Oficina">
	<ww:iterator value="oficinas">
	<tr>
		<td>
		<ww:iterator value="instrutores">
			<ww:property value="nome"/>&nbsp; 
		</ww:iterator>
		</td>
		<td><ww:property value="oficinaTipo.nome"/></td>
		<td><ww:property value="escolaProjeto.escola.cidade"/></td>
		<td><ww:property value="escolaProjeto.escola.nomeEscola"/></td>
		<td>
			<ww:property value="escolaProjeto.escola.professoresContratados + escolaProjeto.escola.professoresEfetivos"/>
		</td>
		<td><ww:property value="vagasProfessor"/> </td>
		<td>
		<ww:iterator value="sessoes" >
			<ww:property value="professoresParticipantes"/>
		</ww:iterator>	
		</td>
		<td> </td>
		<td> </td>
		<td> </td>
	</tr>
	</ww:iterator>
	</ww:bean>
</table>

3 Respostas

keller

Eu gosto de pensar na camada View como apenas “View”
nada de calculos, pesquisa nela.

Alguma vezes temos que fazer algumas iteracoes e if’s
sao coisas que nao conseguimos fugir.

Mas em questao de calculo, sim eu faria na Action.

Valeu? Até… :thumbup:
[]s

eric_jf

Estava vendo e achei melhor colocar no bean.

Valeu!!

Z
gui:
Eu gosto de pensar na camada View como apenas "View" nada de calculos, pesquisa nela.
Até somatório de uma coluna da tabela?

Eu acho que isso é mais uma questão de layout da view do que um retorno de uma ação. O retorno da ação, no caso, é uma lista de objetos. A view é que tá decidindo que quer somar uma certa coluna e mostrar o resultado.

Agora se o cálculo é complexo (ou seja, envolve negócio), aí deve ser feito na action e a view pega apenas o resultado.

gui:
Alguma vezes temos que fazer algumas iteracoes e if's sao coisas que nao conseguimos fugir.
É a tal da "view logic". A action retorna um valor e a view que decide o que vai fazer. Por exemplo: a action retorna um objeto usuario e quem decide quais campos estarão habilitados ou não é a view. Modo que eu acho mais correto:
public Usuario getUsuario() {
    return this.usuario;
}

&lt;c:if test="${usuario.administrador}"&gt;campo habilitado&lt;/c:if&gt;

...
Modo que eu acho errado:
public boolean getMostrarCampoSoPraAdministrador() {
    return this.usuario.isAdministrador();
}

&lt;c:if test="${mostrarCampoSoPraAdministrador}"&gt;...&lt;/c:if&gt;

É tudo questão de você passar mensagens com significados mais claros entre as camadas.

Criado 3 de agosto de 2006
Ultima resposta 3 de ago. de 2006
Respostas 3
Participantes 3