天天看點

登入後再重定向到相應頁面的功能實作

                                           登入後再重定向到相應頁面的功能實作

功能要求是結算時發現沒有登入,需要重新登入,再重定向到結算頁面.

做法:建立一個loginOrder.jsp,内容與login.jsp基本一樣,隻不過多了個隐藏參數

<input  type="hidden" value="goto_checkOrder.do" name="redirect"/>

可以在login.do請求添加參數

http://localhost:8888/mall_sale/login.do?redirect=goto_checkOrder.do

OrderController.java

@Controller
public class OrderController {

@RequestMapping("goto_checkOrder")
    public String goto_checkOrder(HttpSession session, ModelMap map) {
        List<T_MALL_SHOPPINGCAR> list_cart = new ArrayList<T_MALL_SHOPPINGCAR>();

        T_MALL_USER_ACCOUNT user = (T_MALL_USER_ACCOUNT) session.getAttribute("user");
        if (user == null) {
            return "redirect:/goto_login_checkOrder.do";
        } else {
           //.........
        }
    }
}
           

IndexController.java

@Controller
public class IndexController {

@RequestMapping("goto_login")
    public String goto_login(HttpServletRequest request, ModelMap map) {

        return "login";
    }
    @RequestMapping("goto_login_checkOrder")
    public String goto_login_checkOrder(HttpServletRequest request, ModelMap map) {

        return "loginOrder";
    }
}
           

login.jsp

<script type="text/javascript">
    //同步
    function to_submit() {
        $("#login_form").submit();
    }
           <form action="login.do" id="login_form" method="post">
                <div class="input">
                    <input type="text" class="input1_01" value="lilei" name="yh_mch"/>
                </div>
                <div class="input2">
                    <input type="text" class="input1_01" value="1" name="yh_mm" />
                </div>
            
            </form>
            
            <a href="javascript:;" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  class="aline">
                <div class="red_button" onclick="to_submit()">
                    登入
                </div>
            </a>
          
</script>
           

loginOrder.jsp

<script type="text/javascript">
    //同步
    function to_submit() {
        $("#login_form").submit();
    }
           <form action="login.do" id="login_form" method="post">
                <input  type="hidden" value="goto_checkOrder.do" name="redirect"/>
                <div class="input">
                    <input type="text" class="input1_01" value="lilei" name="yh_mch"/>
                </div>
                <div class="input2">
                    <input type="text" class="input1_01" value="1" name="yh_mm" />
                </div>
            
            </form>
            
            <a href="javascript:;" target="_blank" rel="external nofollow"  target="_blank" rel="external nofollow"  class="aline">
                <div class="red_button" onclick="to_submit()">
                    登入
                </div>
            </a>
          
</script>
           

LoginController.java

@Controller
public class LoginController {
 
    @Autowired
    LoginMapper loginMapper;
    
    @RequestMapping("login")
    public String goto_login(@RequestParam(value="redirect", required=false)String redirect,
            HttpServletResponse response, HttpSession session, T_MALL_USER_ACCOUNT user, HttpServletRequest request,
            ModelMap map) {    
        T_MALL_USER_ACCOUNT select_user = loginMapper.select_user(user);
        if (select_user == null) {
            return "redirect:/login.do";
        } else {
            session.setAttribute("user", select_user);

      } 
        if(StringUtils.isBlank(redirect)) {
            return "redirect:/index.do";
        }else{
            return "redirect:/" + redirect;
        }    
    }
           

繼續閱讀