Retornar um item escolhido do iterate

1 resposta
E

Pessoal,

Segue abaixo a minha dúvida.

Tenho uma página principal em jsp que quando o usuário loga carrega nessa página em uma tabela html todos os itens da OS (Ordem de Serviço) que estão associadas a ele, porém, a idéia e ter um botão (preferencialmente) ou link em cada linha da tabela, que quando o usuário clica é enviado a uma página de detalhes da OS.

Para isso eu devo passar o número da OS referente ao item clicado.

Esse é o meu problema pegar o número da OS do item clicado.

Tentei o código abaixo e não funcionou, tenho que fazer import de alguma classe ou pacote?

Coloquei um alert no meu JS para ver a ação que esta enviando. Quando coloco uma string qualquer funciona, mas com o ${item[0]} clico no botão e não acontece nada, nenhuma mensagem aparece.

Estou usando o Strust 1.1 e Tomcat.

Não sei se fui claro, agradeço quem puder me ajudar.

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html:html>
<head>
<title>SISFAB - Sistema de Gest&atilde;o de F&aacute;brica</title>
<link href="./css/paginas.css" rel="stylesheet" type="text/css">
<SCRIPT>
<!--
function enviar(acao)
{		
		alert(acao);
		document.forms[0].acao.value = acao;
		document.forms[0].submit();
	
}
//-->
</SCRIPT>
</head>
<body>
<html:form action="/principal">
<input type="hidden" name="acao" />
<table width="89%" cellpadding="0" cellspacing="0">
  <tr>
    <td height="40" align="left" bgcolor="#006600"><p align="center" class="style1">SISFAB - Sistema de Gest&atilde;o de F&aacute;brica</p>
    </td>
  </tr>
  <tr>
    <td align="center" bgcolor="#415869">
	<div align="left">
		<script language="JavaScript" type="text/javascript" src="./js/menu.js">
      	</script>
	</div>
	</td>
  </tr>
  <tr>
    <td height="355"><table width="97%" height="355" align="center">
      <tr>
        <td height="349"><div align="center">
          <table width="100%"  border="1">
            <tr align="center" bgcolor="#006600" class="style2">
              <td width="5%"><span class="style3"><strong>Detalhe</strong></span></td>
              <td width="11%"><span class="style3"><strong>N&uacute;mero da Ordem de Servi&ccedil;o</strong></span></td>
              <td width="32%"><span class="style3"><strong>Servi&ccedil;o Executado </strong></span></td>
              <td width="10%"><span class="style3"><strong>Prioridade</strong></span></td>
              <td width="11%"><span class="style3"><strong>Data de Entrega</strong></span></td>
              <td width="12%"><span class="style3"><strong>Tipo</strong></span></td>
              <td width="19%"><span class="style3"><strong>Fase</strong></span></td>
            </tr>
			

			<logic:iterate id="item" name="oItens" >
			<tr>
				<td width="5%"><input type="button" value="ok" onclick="enviar(${item[0]})"/></span></td>
				<td width="11%"><span class="style7"><bean:write name="item" property="numeroOS" /></span></td>
				<td width="32%"><span class="style7"><bean:write name="item" property="servicoExecutado" /></span></td>
				<td width="10%"><span class="style7"><bean:write name="item" property="prioridade" /></span></td>
				<td width="11%"><span class="style7"><bean:write name="item" property="prazoEntrega" /></span></td>
				<td width="12%"><span class="style7"><bean:write name="item" property="tipo" /></span></td>
				<td width="19%"><span class="style7"><bean:write name="item" property="fase" /></span></td>
			</tr>
			</logic:iterate>
          </table>
          <br>
          <table width="100%" cellpadding="0" cellspacing="0">
            <tr>
              <td><form name="form2" method="post" action="">
                  <div align="right">
                    <input name="btnAnterior" type="submit" id="btnAnterior" value="Anterior">
                    <input name="btnProximo" type="submit" id="btnProximo" value="Pr&oacute;ximo">
                  </div>
              </form></td>
            </tr>
          </table>
          </div></td>
      </tr>
    </table>    
    </td>
  </tr>
</table>
</body>
</html>
</td>
  </tr>
</table>
</html:form>
</body>
</html:html>

1 Resposta

Thiago_Senna

É só vc criar o link <a …> … , onde o link vai apontar para uma action que saberá como mostrar os detalhes da OS…

para direcionar para sua action, use uma action que receba um parâmetro, e este parâmetro deve ser o número da ordem de serviço…

…/minhaapp/ordem_servico/ExibeOrdenServico&id=7

desta forma, por exemplo, cada linha da sua tabela deve ter um link apontando para a action, e substitua o id da OS (no exemplo acima é o 7) pelo número da id que representa a OS daquela linha!

Abraços!
Thiago Senna

Criado 1 de agosto de 2005
Ultima resposta 2 de ago. de 2005
Respostas 1
Participantes 2