Struts - Formulários e Métodos

E ai galera!

Duvidas com struts novamente…
Algém poderia me explicar como que eu faço pra pegar o valor de um formulário e passar como parametro pra um método que eu vou chamar em um botão?

o código do meu form é o seguinte:

<html:form action="/struts/removeAlarm.do">
	<html:text property="baseTime">
	<html:submit property="method" > <bean:message key="button.delete"/> 
	</html:submit>
</html:form>

esse é o código da minha action:

public ActionForward execute(ActionMapping mapping, ActionForm form,
		HttpServletRequest request, HttpServletResponse response)
		throws Exception {
	HttpSession session = request.getSession();
	String userName = (String) session.getAttribute("userName");
	DBManagerBean bean = new DBManagerBean();
	bean.removeAlarms("2004-06-30",userName);//aqui eue eu queria colocar a data passada no text
	bean.setValues();
	session.setAttribute("Manager", bean);
	return mapping.findForward("manager");
}

o meu struts config eu não consegui colocar aqui…
eu to perdidinho, pois ainda não manjo muito (quase nada) de struts…
algém poderia dar uma força a um :newbie: ?

Pra passar os valores de um formulário strus é necessário criar um formBean com o mesmo nome do formulário e configura-lo no struts-config. Este formBean tem q ter as mesma propriedades do formulário q vc quer usar no seu caso

algo do tipo:



package pacote.pacote;

import org.apache.struts.action.ActionForm;

public class NomeDoForm extends EctionForm{

   //delcarar variaveis de instancias;

  //declarar getters and setters;

}

struts-config.xml

    ...
    <form-beans>
           <form-bean name="nomeDoForm" type="pacote.pacote.NomeDoForm" />
     </form-beans>

Espero ter ajudado (Se estiver erroado por favor me corrijam).

Se vc quer passar os atributes para um action através de um formulário no struts, vc teria de submeter o formulário para o action.

voce pode recuperar os valores do form declarando uma instancia do form no metodo execute do action

//dentro do metodo execute 
NomeDoForm nomeDoForm = (NomeDoForm) form;

Assim vc poderia acessar os valores do form atraves do getters

ou entao vou pode recuperar os atributos atraves do
request.getParameter(“nomeDoAtributo”) e assim recuperar o valor desejado

Eu acho q isso resolve seu problema’

eita ow la onde tá EctionForm vc coloca “ActionForm”

8O 8O 8O 8O 8O

fiz o que vc me falou, mas ainda não funciona…

tá dando o seguinte erro:

o meu struts-config.xml ficou assim:

esse erro ocorre na hora que eu aperto o botão na minha página, a página tá sendo mostrada de boa…

Tá vamos comecar mudando o struts-config

nas declaracao “types” tira as barras e coloca pontos “.”.

e no seu HTML vc tira o “property=method” e usa um botao comum.
E recupera a data através do comando request.getParameter().

retificando “não precisa tirar o property do botao”

mudei as barras por pontos e continuou na mesma… :cry:
Eu to usando o eclipse e coloquei um breakpoit no começo da minha action, só que nem tá chamando a minha action, tá aparecendo a mensagem sem nem ao menos chamar a action…

de uma olhada no meu struts-config.xml

Tem algumas propriedades no teu arquivo que não exsitem no meu, de repente o problema pode ser o envio.

E vc verá tb q no teu arquivo tem dois fechamento de action sem as devidas aberturas.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
   <data-sources />
   <form-beans >
      <form-bean name="loginAlunoForm" type="br.com.faculdadejk.struts.form.LoginAlunoForm" />
      <form-bean name="loginAdminForm" type="br.com.faculdadejk.struts.form.LoginAdminForm" />
      <form-bean name="alteracaoForm" type="br.com.faculdadejk.struts.form.AlteracaoForm" />
      <form-bean name="insereTipoForm" type="br.com.faculdadejk.struts.form.InsereTipoForm" />
      <form-bean name="cadastroProcessoForm" type="br.com.faculdadejk.struts.form.CadastroProcessoForm" />
      <form-bean name="pagamentoForm" type="br.com.faculdadejk.struts.form.PagamentoForm" />

   </form-beans>

   <global-exceptions >
      

   </global-exceptions>

   <global-forwards >
      <forward
         name="finalizarAluno"
         path="/pages/formAlunoLogin.jsp"
         redirect="true" />
      <forward
         name="finalizarAdmin"
         path="/pages/formAdminLogin.jsp"
         redirect="true" />

   </global-forwards>

   <action-mappings >
      <action
         attribute="loginAlunoForm"
         input="/pages/formAlunoLogin.jsp"
         name="loginAlunoForm"
         path="/loginAluno"
         scope="request"
         type="br.com.faculdadejk.struts.action.LoginAlunoAction" >
         <forward name="failure" path="/pages/formAlunoLogin.jsp" />
         <forward name="success" path="/pages/entradaAluno.jsp"/>
         
      </action>
      <action
         attribute="loginAdminForm"
         input="/pages/formAdminLogin.jsp"
         name="loginAdminForm"
         path="/loginAdmin"
         type="br.com.faculdadejk.struts.action.LoginAdminAction">
         <forward name="success" path="/pages/entradaAdmin.jsp" />
         <forward name="failure" path="/pages/formAdminLogin.jsp" />
      </action>
      <action path="/listaTipos" type="br.com.faculdadejk.struts.action.ListaTiposAction">
         <forward name="success" path="/pages/manut.jsp" />
      </action>
      <action path="/recuperaDados" type="br.com.faculdadejk.struts.action.RecuperaDadosAction" >
         <forward name="success" path="/pages/formAlteracao.jsp" />
      </action>
      <action
         attribute="alteracaoForm"
         input="/pages/formAlteracao.jsp"
         name="alteracaoForm"
         path="/alteracao"
         scope="request"
         type="br.com.faculdadejk.struts.action.AlteracaoAction" >
         <forward name="success" path="/listaTipos.do" />
      </action>
      <action path="/desativaTipo" type="br.com.faculdadejk.struts.action.DesativaTipoAction" >
         <forward name="success" path="/listaTipos.do" />
      </action>
      <action
         attribute="insereTipoForm"
         input="/pages/formCadastro.jsp"
         name="insereTipoForm"
         path="/insereTipo"
         scope="request"
         validate="true"
         type="br.com.faculdadejk.struts.action.InsereTipoAction">
         <forward name="success" path="/listaTipos.do" />
      </action>
      <action
         attribute="cadastroProcessoForm"
         name="cadastroProcessoForm"
         path="/cadastroProcesso"
         scope="request"
         type="br.com.faculdadejk.struts.action.CadastroProcessoAction" >
         <forward name="success" path="/pages/guiaPagamento.jsp" />
      </action>
      <action path="/detalhaProcesso" type="br.com.faculdadejk.struts.action.DetalhaProcessoAction" >
         <forward name="admin" path="/pages/paginaProcesso.jsp" />
      </action>
      <action
         attribute="pagamentoForm"
         name="pagamentoForm"
         path="/pagamento"
         scope="request"
         type="br.com.faculdadejk.struts.action.PagamentoAction"
         validate="false" >
         <forward name="success" path="/pages/entradaAdmin.jsp" />
      </action>
      <action
         path="/listaAlunoAction"
         type="br.com.faculdadejk.struts.action.ListaAlunoActionAction"
         validate="false" >
         <forward name="success" path="/pages/listaProcessoAluno.jsp" />
      </action>







	
   </action-mappings>

   <controller bufferSize="4096" debug="0" />
   <message-resources parameter="br.com.faculdadejk.struts.ApplicationResources" />
</struts-config>


consegui resolver meu problema! :cool:
eu simplesmente esqueci de colocar:

public class RemoveAlarmAction extends Action // esqueci do extends Action...
se eu tivesse colocado o código inteiro da classe e não so do método execute talvez fosse mais fácil de encontrar o erro :roll: . mas agora ta funcionando certinho!

Valew pela força Rogério!