Erro ao pegar form no Struts 2

7 respostas
fbeli

Srs,

Estou com um form simples que não está sendo passado para a Action, ou pelo menos minha action não está recebendo o objeto.
As classes e form abaixo.
Uso o spring 2.5.

att

public class ProjectAction implements Preparable, SessionAware{

	private Project project;

public String execute() {
    if(project == null){
       System.out.println("project == null");
    }        	
        	return "form";
}
<s:form action="incProject" validate="true">

				<s:textfield id="projName" label="Project Name" name="project.name"/>
				
				
				<s:textfield id="internalId" label="Internal ID" name="project.internalId"/>
				<s:textfield id="clientId" label="Client ID" name="project.clientId"/>
				<s:textfield id="teste" label="teste" name="teste"/>
				
				
				<s:submit value="salvar" />
				
				
	</s:form>
public class Project {
 
	@Id
	@GeneratedValue   
	private Integer id;
	
	private String internalId;	 
	private String clientId;	 	 
	private String name;	
	
	@ManyToOne( cascade = {CascadeType.MERGE} )
    @JoinColumn(name="projectTypeId")
	private ProjectType type;	

     ....
}

7 Respostas

renatocustodio

Na action tem um método set para o project???

Posta aqui a configuração dessa action no struts.xml tbm.

fbeli
<action name="saveProject" class="projectAction" method="saveProject">   		
   			<result type="tiles">success.page</result>
   		</action>  
   		
        <action name="incProject" class="projectAction" method="saveProject">

        	<result>pages/success.jsp</result>
        	<result name="input">pages/success.jsp</result>
        	<result  type="tiles" name="form">newProject.page</result>
        	<interceptor-ref name="login" />
        	
        </action>

incProject abre o form e saveProject para salva-lo

Qnto aos setProject Está lá sim..

renatocustodio

Experimente colocar antes de

o

fbeli

só uma obs:

isso: request.getParameter("project.name")
funciona, ele pega o valor do request

fbeli

Vlw… funcionou, já posso até almoçar

mas isso já nãoo seria default do struts?

renatocustodio

Seria se não colocar nenhum…

O que eu costumo é fazer é criar meu próprio stack, com meus interceptors e esse do struts… E uso aquele para falar que vai ser usado em todas as actions.

fbeli

pode ser que eu tenha comido mosca mesmo, aquele interceptor eu coloquei qndo tava testando o login, assim acabou ficando como sujeira.

Criado 12 de janeiro de 2009
Ultima resposta 12 de jan. de 2009
Respostas 7
Participantes 2