Problemas com s:checkboxlist + s:hidden

0 respostas
F

Olá, sou novo por aqui, mas estou tendo um problema com um checkboxlist , segue o codigo , utilizo struts2 + spring + maven

Primeiro tem uma action que redireciona pra essa pagina depois de ter passado por uma tela de login que abre uma sessao, depois tem um formulario para preencher que tem um checkboxlist.

list.jsp
<%@ taglib prefix="s" uri="/struts-tags"%>

<br><br>
Bem Vindo <s:text name="#session.usuario" ></s:text> <br></br>
<s:form action = "mostraDados.action" method  = "GET" >
<table>
	 <tr>
		<td>
			<s:select 
		    name="curso"
		    list="curso_select"
			label = "Selecione um Curso"
		    /> 
	    </td>
	</tr> 
	<tr>
		<td>
			
			<s:checkboxlist label="Categoria" name="categoria_selected" list = "categoria"  />
			<s:textfield key = "Nome" name = "nome" />
			<s:textfield key = "Endereço" name = "end" />
		</td>
		<td>
			<s:radio label="Sexo" name="sexo" list="{'Masculino','Feminino'}"/>  
		</td>
	</tr>
	<tr>
		<s:submit key = "Enviar" value = "Enviar "label = "Enviar"/>
	</tr>
	<s:hidden name = "categoria" ></s:hidden>
	<s:hidden name = "curso_select" ></s:hidden>
</table>
</s:form>

depois ao dar submit eu redireciono para esta pagina :

testeactions.jsp
<%@ taglib prefix="s" uri="/struts-tags"%>

<s:form action = "confirmarDados.action">
<table align = "left">
<tr>
<s:text name="#session.usuario" ></s:text>
</tr>
<tr>
	<td>
		<s:checkboxlist label="Categoria" name = "categoria_selected" list = "categoria"  />
		
	<td>
		<s:text name="curso" ></s:text>
	</td>
	<td>
		<s:textfield label = "Nome" name = "nome" key = "nome"></s:textfield>
	</td>
	<td>
		<s:textfield label = "Endereço" name = "end" key ="end"></s:textfield>
	</td>
	<td>
		<s:radio label="Sexo" name="sexo" list="{'Masculino','Feminino'}" key = "sexo"/>
	</td>
	<td>
		<s:textarea label = "Artigo" name = "artigo" cols = " 35" rows = "15" ></s:textarea>
	</td>
</tr>
<tr>
	<s:submit value  = " Confirmar dados e Enviar artigo"></s:submit>
</tr>
</table>
</s:form>

é apenas uma pagina de confirmação, mas queria que os checkbox que marquei na anterior fossem marcados nela tmb...
só que vira uma bagunça...
o checkboxlist vira isto...
suspeito ser culpa de passar 'categoria' pelo camppo hidden.
mas se eu não passar vai dar erro na proxima pagina.

[img]http://img16.imageshack.us/img16/7831/imagemvs.jpg[/img]

public class TesteAction extends PortalAbstractAction implements Preparable, SessionAware {
    private String curso;
    private Integer id;
    private String nome;
    private String sexo;
    private String end;
    private String artigo;
    private String senha;
    private ArrayList<String> categoria;
    private ArrayList<String> categoria_selected;
    private ArrayList<String> curso_select;
    Map attibutes;
    
    
    public String search() {
    	categoria_selected =  new ArrayList<String>();
    	categoria_selected.add("Cat A");
    	categoria_selected.add("Cat B");
          
        curso_select = new ArrayList<String>();
        curso_select.add("Curso 1");
        curso_select.add("Curso 2");
        curso_select.add("Curso 3");
        curso_select.add("Curso 4");
        curso_select.add("Curso 5");
        curso_select.add("Curso 6");
        curso_select.add("Curso 7");
        curso_select.add("Curso 8");
        
        categoria =  new ArrayList<String>();
        categoria.add("Cat A");
        categoria.add("Cat B");
        categoria.add("Cat C");
        categoria.add("Cat D");
        categoria.add("Cat E");
       
        return Action.SUCCESS;
    }


	
	public String getCurso() {
		return curso;
	}


	public void setCurso(String curso) {
		this.curso = curso;
	}


	public Integer getId() {
		return id;
	}


	public void setId(Integer id) {
		this.id = id;
	}


	public void prepare() throws Exception {
		// TODO Auto-generated method stub
		String message = this.messageSource.getMessage("site.title", null , "Default", Locale.ENGLISH); 
		System.out.println(message);
		
	}


	public void setSession(Map<String, Object> arg0) {
		// TODO Auto-generated method stub
		
	}


	public void setNome(String nome) {
		this.nome = nome;
	}


	public String getNome() {
		return nome;
	}

	public String mostraNome(){
		System.out.println("Nome" + nome);
		return Action.SUCCESS;
	}


	public void setSexo(String sexo) {
		this.sexo = sexo;
	}


	public String getSexo() {
		return sexo;
	}


	public void setEnd(String end) {
		this.end = end;
	}


	public String getEnd() {
		return end;
	}


	public void setArtigo(String artigo) {
		this.artigo = artigo;
	}


	public String getArtigo() {
		return artigo;
	}

	public String confirmar(){
		//Adicionar artigo ao BD
		return Action.SUCCESS;
	}


	public void setSenha(String senha) {
		this.senha = senha;
	}


	public String getSenha() {
		return senha;
	}

	public String loginTeste(){
		if( !this.nome.equals("1324") || !this.senha.equals("1324"))
			return Action.ERROR;
		else {
	    	 attibutes = ActionContext.getContext().getSession();
	    	 attibutes.put("usuario",""+nome );
			return Action.SUCCESS;
		}
			
	}


	public void setCategoria(ArrayList<String> categoria) {
		this.categoria = categoria;
	}


	public ArrayList<String> getCategoria() {
		return categoria;
	}


	public void setCurso_select(ArrayList<String> curso_select) {
		this.curso_select = curso_select;
	}


	public ArrayList<String> getCurso_select() {
		return curso_select;
	}

	public String logout (){
		return Action.SUCCESS;
	}


	public void setCategoria_selected(ArrayList<String> categoria_selected) {
		this.categoria_selected = categoria_selected;
	}


	public ArrayList<String> getCategoria_selected() {
		return categoria_selected;
	}

	public String recarregar(){
		return Action.SUCCESS;
	}
}
<action name="listTest" method="search" class="testeAction">
            <result>pages/list.jsp</result>
            <result name="input">pages/list.jsp</result>
        </action>
     
     	<action name="mostraDados" method="mostraNome" class="testeAction">
            <result>pages/testeactions.jsp</result>
            <result name="input">pages/testeactions.jsp</result>
        </action>

Alguem sabe qual pode ser o problema?

Criado 27 de janeiro de 2010
Respostas 0
Participantes 1