Struts popular formulario

2 respostas
T

Ola pessoal, estou com o seguinte problema estou tentando popular o form so q nao estou conseguindo,
eu consigu recuperar os dados do banco de acordo com id passado pelo form, mas na hora de mandar os dados pro form de cadastro para poder fazer a edição, nao aparece nada nos campos, e nem me mostra algum erro.

vai os codigos aqui abaixo:

struts-config

<form-beans>
<form-bean name="SisvistSeguradoraForm" type="control.SisvistSeguradoraForm" />
</form-beans>
<global-forwards>
                <forward name="listaSeguradora" path="/SisvistSeguradora.do?metodo=listar"/>
		<forward name="editarSeguradora" path="/SisvistSeguradora.do?metodo=editar"/>
</global-forwards>
<action-mappings>
                 <action 
    			path="/SisvistSeguradora"
    			type="control.SisvistSeguradoraAction"
    			name="SisvistSeguradoraForm"
    			scope="session" 
    			parameter="metodo"
    			validate="true" 
    			input="/pages/Sisvist_Seguradora_Cadastro.jsp" />
</action-mappings>


Sisvist_Seguradora_Cadastro.jsp

<html:form action="SisvistSeguradora?metodo=incluir">
<table>
<tr>
  <td class="label_form">CNPJ *</td>
  <td>
    <html:text property="segurCnpj"  size="18" maxlength="14" />
  </td>
</tr>
<tr>
  <td class="label_form">Nome *</td>
  <td>
    <html:text property="segurNome" size="40" maxlength="50" />
  </td>
</tr>
<tr>
  <td class="label_form">E-mail *</td>
  <td>
    <html:text property="segurEmail" size="40" maxlength="50" onblur="this.value=this.value.toLowerCase();cMail(this)" />
  </td>
</tr>
<tr>
  <td class="label_form">Endereço *</td>
  <td>
    <html:text property="segurEndereco" size="40" maxlength="50" />
  </td>
</tr>
<tr>
  <td class="label_form">Cidade *</td>
  <td>
    <html:text property="segurCidade" size="25" maxlength="30"/>
  </td>
</tr>
<tr>
  <td class="label_form">UF *</td>
  <td>
    <html:select property="segurUf">
    	<html:option value="">-- Selecione --</html:option>
    	<html:optionsCollection property="vetorUf" label="label" value="value"/>
    </html:select>
  </td>
</tr>
<tr>
  <td class="label_form">CEP *</td>
  <td>
    <html:text property="segurCep" size="10" maxlength="10"/>
  </td>
</tr>
<tr>
 <td class="label_form">Telefone *</td>
  <td>
    <html:text property="segurDdd"  size="2" maxlength="2"  onblur="cNum(this)"/>
    <html:text property="segurTelefone" size="10" maxlength="10" />
    <span class="label_form">Telefone</span>
    <html:text property="segurDdd1"  size="2" maxlength="2"  onblur="cNum(this)"/>
    <html:text property="segurTelefone1" size="10" maxlength="10" />
  </td>
</tr>
<tr>
  <td class="label_form">Fax</td>

  <td>
    <html:text property="segurDddFax"  size="2" maxlength="2"  onblur="cNum(this)"/>
    <html:text property="segurTelFax"  size="10" maxlength="10" />
  </td>
</tr>

<tr>
  <td class="label_form">Observações</td>
  <td>
    <html:textarea property="segurObs" cols="50" rows="3"/>
  </td>
</tr>
<tr>
  <td class="label_form">Status *</td>
  <td>
    <html:select property="segurStatus">
    	
    	<html:optionsCollection property="vetorStatus" label="label" value="value"/>
    </html:select>
  </td>
</tr>
<tr>
<td>
  <td colspan="2">
    
    	<html:submit >Editar</html:submit>
		
	<html:link forward="listaComboSeguradora">
			<input type="button"  class="botao" value="Cancelar">
		</html:link>
		<html:link forward="listaSeguradora">
			<input type="button" class="botao" value="Pesquisar"/>
		</html:link>
	
	
	
  </td>
</tr>
</table>
</html:form>

Sisvist_seguradora_Listar.jsp

<html:form action="SisvistSeguradora.do?metodo=editar">
<table>
<tr>
  <td class="label_form">CNPJ *</td>
  <td>
    <html:text property="segurCnpj"  size="18" maxlength="14" />
  </td>
</tr>
<tr>
  <td class="label_form">Nome *</td>
  <td>
    <html:text property="segurNome" size="40" maxlength="50" />
  </td>
</tr>
<tr>
  <td class="label_form">E-mail *</td>
  <td>
    <html:text property="segurEmail" size="40" maxlength="50" onblur="this.value=this.value.toLowerCase();cMail(this)" />
  </td>
</tr>
<tr>
  <td class="label_form">Endereço *</td>
  <td>
    <html:text property="segurEndereco" size="40" maxlength="50" />
  </td>
</tr>
<tr>
  <td class="label_form">Cidade *</td>
  <td>
    <html:text property="segurCidade" size="25" maxlength="30"/>
  </td>
</tr>
<tr>
  <td class="label_form">UF *</td>
  <td>
    <html:select property="segurUf">
    	<html:option value="">-- Selecione --</html:option>
    	<html:optionsCollection property="vetorUf" label="label" value="value"/>
    </html:select>
  </td>
</tr>
<tr>
  <td class="label_form">CEP *</td>
  <td>
    <html:text property="segurCep" size="10" maxlength="10"/>
  </td>
</tr>
<tr>
 <td class="label_form">Telefone *</td>
  <td>
    <html:text property="segurDdd"  size="2" maxlength="2"  onblur="cNum(this)"/>
    <html:text property="segurTelefone" size="10" maxlength="10" />
    <span class="label_form">Telefone</span>
    <html:text property="segurDdd1"  size="2" maxlength="2"  onblur="cNum(this)"/>
    <html:text property="segurTelefone1" size="10" maxlength="10" />
  </td>
</tr>
<tr>
  <td class="label_form">Fax</td>

  <td>
    <html:text property="segurDddFax"  size="2" maxlength="2"  onblur="cNum(this)"/>
    <html:text property="segurTelFax"  size="10" maxlength="10" />
  </td>
</tr>

<tr>
  <td class="label_form">Observações</td>
  <td>
    <html:textarea property="segurObs" cols="50" rows="3"/>
  </td>
</tr>
<tr>
  <td class="label_form">Status *</td>
  <td>
    <html:select property="segurStatus">
    	
    	<html:optionsCollection property="vetorStatus" label="label" value="value"/>
    </html:select>
  </td>
</tr>
<tr>
	<td>
	<td colspan="2">
    <input type="button" onclick="salvar(document.forms[0]);" class="botao" value="Salvar" >
		<html:link forward="listaComboSeguradora">
			<input type="button"  class="botao" value="Cancelar">
		</html:link>
		<html:link forward="listaSeguradora">
			<input type="button" class="botao" value="Pesquisar"/>
		</html:link>
	
  	</td>
	</td>
</tr>
</table>
<br>
<br>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#888888">
	<tr align="center" bgcolor="#dee7ec"> 
    	<td  colspan="4" border="0" cellpadding="0" cellspacing="1" class="grid_header">Seguradoras</td>
  	</tr>
  	<tr>
		<td width="55%" class='grid_header002'>Nome</td>
    	<td width="25%" class='grid_header002'>CNPJ</td>
    	<td width="10%" class='grid_header002'>Status</td>
    	<td width="10%" class='grid_detail_empty'>&nbsp;</td>
	</tr>

	<logic:iterate id="w" name="SisvistSeguradoraForm" property="listaSeguradora">
	<tr>
	 	<td width="50%" class='grid_detail'><bean:write name="w" property="segurNome"/></td>
	 	<td width="28%" class='grid_detail'><bean:write name="w" property="segurCnpj"/></td>
	 	<td width="12%" class='grid_detail'> 
	 		<logic:equal name="w" property="segurStatus" value="1">Ativo</logic:equal>
	 		<logic:equal name="w" property="segurStatus" value="0">Inativo</logic:equal>  
        </td>
		<td width="10%" class='grid_detail_empty'>
				
				<html:link forward="editarSeguradora">
				<input type="button"  class="grid_detail_button" value="Editar">
				<html:param name="segurId">
				<bean:write name="w" property="segurId"/>
				</html:param>
				</html:link>
					
		</td>			
	</tr>
	</logic:iterate>
	
	
	
</table>
</html:form>


SisvistSeguradoraAction

public ActionForward editar(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		
		ActionForward forward = null;
		ActionErrors errors = new ActionErrors();
		ActionMessage mensagem = null;
		
		
		
		// Cast para o meu form
		SisvistSeguradoraForm f = (SisvistSeguradoraForm) form;
		SisvistSeguradoraHome dao = new SisvistSeguradoraHome();
		SisvistSeguradora seguradora = new SisvistSeguradora();
		try{
				
				seguradora = dao.findById(f.getSegurId());
				request.setAttribute("SisvistSeguradoraForm", seguradora);
				
			
		}catch (Exception e) {
			// Se ocorrer algum problema, crie um objeto de mensagem
			mensagem = new ActionMessage("error.alterar", e.getMessage());
			// Adicione este objeto em outro objeto de Mensagens ou Erros
			errors.add(ActionMessages.GLOBAL_MESSAGE, mensagem);
			// Mostre no console qual foi o erro
			e.printStackTrace();
		}

		if (!errors.isEmpty()) {
			// Se o objeto de Erros estiver preenchido
			saveErrors(request, errors);
			forward = mapping.findForward("incluiSeguradora");
		} else {
			// Já que não ocorreu nenhum erro
			 
			forward = mapping.findForward("incluiSeguradora");
		}	
		return forward;
		
	}

alguem poderia dar uma força ?

obrigadooo

2 Respostas

fiaux

Na sua jsp você aponta para propriedades que não estão sendo encontradas e você botou no request um tal SisvistSeguradoraForm. Tem que pegar esse cara e na jsp fazer com que as propriedades dele sejam exibidas.

T

vc teria um exemplo de como fazer isso ?

eu tentei da seguinte maneira:

<logic:present name="SisvistSeguradoraForm" scope="request"> <logic:redirect forward="incluiSeguradora"/> </logic:present>

obrigado

Criado 15 de julho de 2008
Ultima resposta 16 de jul. de 2008
Respostas 2
Participantes 2