私はjspファイルに簡単なフォームを持っています:
<form:form method="POST" class="my-form" id="dummyExtDelSubmitForm" name="dummyExtDELSubmitForm" action="/my-web/landingPage/showPage">
<input type="text" name="viewName" value="userRegistrationPage" >
<input type="submit" name="submitDummYForm" value="Submit" ></input>
</form:form>
Spring MVC コントローラーでは、以下のメソッドがあります。
@RequestMapping(value = "/showPage", method = RequestMethod.POST)
public ModelAndView redirectToPage(@ModelAttribute("baseUserVO") BaseUserVO baseUserVO, HttpServletRequest request,Model model) throws BrownApplicationException {
HttpSession session = request.getSession();
if (baseUserVO != null && baseUserVO.getViewName()!=null) {
return new ModelAndView("redirect:" + viewName, CommonConstants.MODEL, model);
else{
return new ModelAndView("redirect:/landingPage/home.brd", CommonConstants.MODEL, model);
}
}
問題は、フォームを送信すると、BaseUserVO オブジェクトが読み込まれることがありますが、ほとんどの場合は読み込まれません。Firefoxでは問題なく動作します。私は fiddler でリクエストを確認しようとしましたが、リクエストを showPage に送信するフォームで、viewName が存在しない場合のロジックに従って、パラメーターが表示されません。その後、landingPage/home にリダイレクトし、後でリダイレクトしますviewName パラメータを参照してください。
単なる POJO である BaseUserVO のコード:
public class BaseUserVO {
private Integer userMasterId;
private String firstname;
private String lastname;
private Integer relationshipCode;
private String relationshipName;
private String userName;
private String userDisplayName;
private String viewName;
private String wpoId;
private String userType;
public Integer getUserMasterId() {
return userMasterId;
}
... getter seetter for other attributes.
サーバー側の問題なのかクライアント側の問題なのかわかりません。手がかりがあれば返信してください。
ありがとう、ラリット