Erro em 'request'

4 respostas
D

E ae :smiley:

Criei um método para persistir o pai e o filho, mas está com um erro “request cannot be resolved”, alguém sabe o que é isso?

O método está logo abaixo:

protected void persistedObject(ActionMapping arg0, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3, Serializable serializable) {
		SoftwareVO vo = (SoftwareVO) serializable;
		Integer idSoftware = vo.getId();
		String [] fornecs = request.getParameterValue("fornec");
		List listSoftwareFornecedor = new ArrayList();
        for(int i = 0; fornecs != null && i < fornecs.length; i++) {
        	String codFornecedor = fornecs[i];
        	SoftwareFornecedorVO softwareFornecedor = new SoftwareFornecedorVO();
        	softwareFornecedor.setCodFornecedor(Integer.valueOf(codFornecedor));
        	listSoftwareFornecedor.add(codFornecedor);
        }

4 Respostas

cassio

A referência para um objeto do tipo HttpRequest que vc está recebendo no seu método chama-se “arg2”, não “request”…

Tente

...
String [] fornecs = arg2.getParameterValue("fornec");
...
StriderMGBR

protected void persistedObject(ActionMapping arg0, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3, Serializable serializable) { SoftwareVO vo = (SoftwareVO) serializable; Integer idSoftware = vo.getId(); String [] fornecs = request.getParameterValue("fornec"); List listSoftwareFornecedor = new ArrayList(); for(int i = 0; fornecs != null && i < fornecs.length; i++) { String codFornecedor = fornecs[i]; SoftwareFornecedorVO softwareFornecedor = new SoftwareFornecedorVO(); softwareFornecedor.setCodFornecedor(Integer.valueOf(codFornecedor)); listSoftwareFornecedor.add(codFornecedor); }

Aonde a variavel request foi declarada?? em lugar nenhum!!
Essa linha

String [] fornecs = request.getParameterValue("fornec");
deve ser trocada por

String [] fornecs = arg2.getParameterValue("fornec");

FLW!!

D

Ah entendi amigo…já arrumei para request o ‘arg2’…maaaas, está com outro erro:

protected void persistedObject(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response, Serializable serializable) {
		SoftwareVO vo = (SoftwareVO) serializable;
		Integer idSoftware = vo.getId();
		String [] fornecs = request.getParameterValues("fornec");
		List listSoftwareFornecedor = new ArrayList();
        for(int i = 0; fornecs != null && i < fornecs.length; i++) {
        	String codFornecedor = fornecs[i];
        	SoftwareFornecedorVO softwareFornecedor = new SoftwareFornecedorVO();
        	softwareFornecedor.setCodFornecedor(Integer.valueOf(codFornecedor));
        	listSoftwareFornecedor.add(codFornecedor);
        }
		getBusinessDelegate().insert(listSoftwareFornecedor);
	}

“unhandled exception type brPersistException”

Adicionei throws, mas continua dando erro…com os throws, fica:

protected void persistedObject(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response, Serializable serializable) throws brBusinessException, brPersistException {
		SoftwareVO vo = (SoftwareVO) serializable;
		Integer idSoftware = vo.getId();
		String [] fornecs = request.getParameterValues("fornec");
		List listSoftwareFornecedor = new ArrayList();
        for(int i = 0; fornecs != null && i < fornecs.length; i++) {
        	String codFornecedor = fornecs[i];
        	SoftwareFornecedorVO softwareFornecedor = new SoftwareFornecedorVO();
        	softwareFornecedor.setCodFornecedor(Integer.valueOf(codFornecedor));
        	listSoftwareFornecedor.add(codFornecedor);
        }
		getBusinessDelegate().insert(listSoftwareFornecedor);
	}

e o erro é: "exception brPersistException is not compatible with throws clauses in CadAction.pesistedObject ( ActionMapping , ActionForm , HttpServletRequest , HttpServletResponse , Serializable )

Alguma idéia amigos???

[]'s

cassio

Não precisa de throws… isso é pra forçar que seu método lance exceções, mas ele já as lança naturalmente, como o próprio erro de compilaçào indica
Use try/catch :slight_smile:

protected void persistedObject(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response, Serializable serializable) {
 		
		try{
		SoftwareVO vo = (SoftwareVO) serializable;
 		Integer idSoftware = vo.getId();
 		String [] fornecs = request.getParameterValues("fornec");
 		List listSoftwareFornecedor = new ArrayList();
         for(int i = 0; fornecs != null && i < fornecs.length; i++) {
         	String codFornecedor = fornecs[i];
         	SoftwareFornecedorVO softwareFornecedor = new SoftwareFornecedorVO();
         	softwareFornecedor.setCodFornecedor(Integer.valueOf(codFornecedor));
         	listSoftwareFornecedor.add(codFornecedor);
         }
 		getBusinessDelegate().insert(listSoftwareFornecedor);
		}
		catch(brPersistException exception){
		   //trate sua exceção aqui...
		}
		catch(outro tipo de exceção que possa ser lançado){
		   //trate sua exceção aqui...
		}
		//etc etc...
 }
Criado 1 de agosto de 2006
Ultima resposta 1 de ago. de 2006
Respostas 4
Participantes 3