RESTO Primavera para Request método delete

votos
1

Eu tenho o seguinte método no meu controlador

@RequestMapping(value = processPurchase/{poid}, method = RequestMethod.DELETE)
public String processOrder(@PathVariable int poid) {
    // do some processing
    return acceptPurchaseForm;
}

meu HTML

<form id=purchase-list-form class=form-horizontal action=/MyNewApp/processPurchase/ method=post>
<input type=hidden name=_method value=delete>
<input type=hidden name=poid value=>

Com o acima eu ainda obter o seguinte erro

WARN : org.springframework.web.servlet.PageNotFound - Request method 'DELETE' not supported

Qualquer ajuda apreciado.

Publicado 25/03/2013 em 08:24
fonte usuário
Em outras línguas...                            


1 respostas

votos
5

Primeiro de tudo, eu suponho que você tem a HiddenHttpMethodFilter configurado no seu web.xml. Ela é necessária para converter o seu _methodcom o valor excluir a RequestMethod EXCLUIR

Em segundo lugar, o poidestá sendo passado no corpo do pedido, mas em seu controlador, você está esperando para ser passado na própria URL. Isso pode explicar por que Primavera é incapaz de mapear o pedido.

EDIT 1:

Para passar poidno URL, você terá que incluir em sua ação de formulário quando o HTML é gerado. Depende da sua tecnologia de exibição (eu uso Freemarker), mas você seria obrigado a fazer algo como isto:

<form action="/MyNewApp/processPurchase/${poid}" method="post">

Supondo que o poid é escrito para o modelo que é binded à sua vista.

Respondeu 25/03/2013 em 08:38
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more