2016-01-13 1 views
2

У меня есть вопрос к вам. Позвольте мне объяснить ситуацию. У нас есть страница jsp, здесь есть почтовая форма с некоторыми входами. Когда пользователь вводит некоторые данные и отправляет форму, мой контроллер весны обрабатывает этот запрос, преобразует данные о доходах, а затем я должен отправить его преобразованные данные с последующим запросом на другой сайт с перенаправлением клиента. Другими словами, я хочу знать, есть ли какая-то возможность использовать response.sendRedirect("some other website url") с почтовым запросом в моем контроллере? Или как я могу сделать это по-другому? Например, простой форме:Отправить запрос POST от контроллера весны

<form action="myServerSideUrl" method="post> 
    <input type="text" name="Input1"/> 
    <input type="text" name="Input1"/> 
    <input type="submit" value="submit"/> 
</form> 

Когда пользователь представить его, он приходит на сервер, а затем, например, я просуммировать Input1 и Input2 (INPUT3), а затем я хочу, чтобы перенаправить пользователя на другой сайт с запросом данных 3 POST.

+0

Я верю, что перенаправление на HTTP-код 307 позволяет перенаправить содержимое POST, а также –

+0

Можете ли вы отправить пример, пожалуйста? @DanielHigueras – jahra

ответ

0
 <html:form action="changePassword" method="POST" 
      commandName="changePasswordForm"> 
      <label> <html:password path="password" id="oldPassword" 
        maxlength="128" class="input" required="required" 
        placeholder="Current Password" /> 
      </label> 
      <label> <html:password path="newPassword" id="password" 
        maxlength="15" required="required" class="input" 
        placeholder="New Password" /> 
      </label> 
      <label> <html:password path="confirmPassword" 
        id="confirmNewPassword" maxlength="15" required="required" 
        class="input" placeholder="Confirm Password" /> 
      </label> 
      <label> <html:input path="" type="submit" value="SAVE" 
        /> 
      </label> 
    </html:form> 

Spring Controller ниже:

@RequestMapping(value = "changePassword", method = RequestMethod.POST) 
    public String changePassword(@ModelAttribute(value = "searchForm")  SearchForm searchForm, 
           Model inModel, 
           HttpServletRequest inRequest) 
    { 
    String viewName ="changePassPage"; 
    // do something logic related to change password. 
    return viewName ; 
    } 

Form Bean Или POJO модель весной:

public class SearchForm 
    { 
     private String password; 
     private String newPassword; 
     private String confirmPassword; 
     //setter & getter; 
    } 

Вы можете попробовать Spring Post Пример

+0

Спасибо. Но мне не нужно перенаправлять на мой взгляд (viewName в вашем примере). Я хочу перенаправить пользователя с почтовым запросом на другой сайт. – jahra

0

Вы можете использовать Spring собственного RestTemplate или просто java.net.URLConnection (но вам нужно написать немного больше кода) t o сделайте запрос POST в вашем контроллере.

Итак, получив запрос в своем @Controller, вы можете просто переслать его туда, где хотите.