Popular ArrayList via requisição AJAX (JSON) no Struts 2

0 respostas
jucelinux

Boa tarde amigos,

Estou com a essa dúvida a mais de um dia e ainda não consegui encontrar a solução para este maldito problema. Estou implementando um sistema WEB para a empresa que trabalho utilizando Struts2. E agora me deparei com o seguinte problema: Em uma determinada tela eu gero um JSON que é enviado via AJAX e deve ser enviado para o Server, que deveria popular essa informação em algum List para enfim seguir com o fluxo normal do programa.

O problema e que a Action é requisitada, porém o meu List não é populado!!

Vocês poderiam me ajudar, pelo amor de Jha!, digo por favor...

[color=red]Minha Action[/color]
@ParentPackage(value = "json-default")
public class ParamsAction extends ActionSupport {

	private static final long serialVersionUID = 1L;

	private List<ParamsVO> listParam;
	private  ArrayList<ParamsVO> updateParam;

	

	@Action(value = "setParam", results =
			{ @Result(name="ok", type="httpheader", params = {"status", "200"}) })
	public void  setParam() {
		try {
			ParamsBO.getInstance().updateParams(listParam);
		} catch (BusinessObjectException e) {
			
		}
	}
	
	
	@Action(value = "getParam", results = @Result(name = "parametros", type = "json", params = {
			"includeProperties","listParam.*", "noCache", "true" }))
	public String  getParam() {

		this.listParam = new ArrayList<ParamsVO>();
		try {
			this.listParam = ParamsBO.getInstance().getParams();
		} catch (BusinessObjectException e) {
			return null;
		}

		return "parametros";
	}
	

	public List<ParamsVO> getListParam() {
		return listParam;
	}

	public void setListParam(List<ParamsVO> listParam) {
		this.listParam = listParam;
	}
	
	
	public  ArrayList<ParamsVO> getUpdateParam() {
		return updateParam;
	}
	
	public void setUpdateParam( ArrayList<ParamsVO> updateParam) {
		this.updateParam = updateParam;
	}

}
[color=red]Meu .js[/color]
update : function(){

			data = {'updateParam': 
					  [{'id':1, 'val': $('select#inp1').val()}, 
					   {'id':2, 'val': $("input:radio['name=inp2']:checked").val()}, 
					   {'id':3, 'val': $('select#inp3').val()}, 
					   {'id':4, 'val': $("input:radio['name=inp4']:checked").val()},
					   {'id':5, 'val': $("input:radio['name=inp5']:checked").val(),}]};
			$.ajax({
				url : setURL,
			    beforeSend : function(req) {
			        req.setRequestHeader('Authorization', __utils.make_basic_auth('sfa','12345678'));
			    },
				type : 'POST',
				data: data,				
				success : function(data) {

				},
				error : function(data) {
				
				}
			});
		},
Criado 6 de novembro de 2012
Respostas 0
Participantes 1