首页 > 解决方案 > 如何在 Spring Controller 中的方法之间传递参数?

问题描述

我想将变量“b”的值从 AfterLogin 函数发送到 EnterCoupon 函数。 是否可以将 CustomerID 和 Password 参数从 AfterLogin 函数发送到 EnterCoupon 函数?

@RequestMapping("AfterLogin")
    public String AfterLogin(Model m,@RequestParam("CustomerID") String cid, @RequestParam("Password") String pswd) {
        double b=dao.getCustomer(cid, pswd);
        System.out.println(b);
        if(b!=0) {
            m.addAttribute("Balance",b);
            m.addAttribute("cid", cid);
            m.addAttribute("pswd", pswd);
            m.addAttribute("cst", new Coupon());
            return "EnterCoupon";
        }
        {
            m.addAttribute("msg","Invalid Customer ID or Password");
            return "Failure";
        }   
}
@RequestMapping("EnterCoupon")
public ModelAndView EnterCoupon(@ModelAttribute("cst")Coupon c, @RequestParam("CouponCode")String cc)
{
    double nb=cs.NewBalance(b, dao.getCoupon(cc));
    
    if(nb!=0)
    {
        ModelAndView mv=new ModelAndView("CashBack","cst",cst);
        
        return mv;
    }
    else
    {
        ModelAndView mv=new ModelAndView("Failure","msg","Invalid Coupon Code");
        return mv;
    }
}

感谢您的帮助。

标签: javaspringspring-mvcjspmodel-view-controller

解决方案


这与 Spring 安全性的整个目的相矛盾。您不应该以这种方式处理用户登录。

理想情况下,您应该实施弹簧安全性。使用它来验证和授权您的用户。然后,您的登录用户将可以通过安全上下文持有者在整个应用程序中访问任何方法


推荐阅读