登入後再重定向到相應頁面的功能實作
功能要求是結算時發現沒有登入,需要重新登入,再重定向到結算頁面.
做法:建立一個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;
}
}