【问题标题】:How do i pass parameters between methods in a spring Controller?如何在 Spring Controller 中的方法之间传递参数?
【发布时间】:2020-11-28 18:36:50
【问题描述】:

我想将变量“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;
    }
}

感谢您的帮助。

【问题讨论】:

  • 看起来你正在做的事情应该可以工作,只是可能返回"redirect:/EnterCoupon" 以确保它得到处理并通过模型访问属性。或者,您也可以将其作为路径变量进行路径

标签: java spring spring-mvc jsp model-view-controller


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多