【问题标题】:Submit data through form Spring Framework通过表单 Spring Framework 提交数据
【发布时间】:2015-12-28 21:06:21
【问题描述】:

我正在掌握 Spring MVC 框架。我之前使用过 PHP Symfony 框架,也有类似的原理。但是,我正在努力用我的控制器页面创建一个模型来处理表单提交。当用户登录我的系统时,他们要么是开发人员,要么是项目经理。我有一个类称为 User 类,另一个类称为 Role - 后者确定用户是否具有开发人员或项目经理的角色。但是,如果您能告诉我如何在我的方法中处理表单提交,我有逻辑。

我导入了 User 类。 1) 该方法显示一个表单“Get”方法

@RequestMapping(value="/user-login", method=RequestMethod.GET)
public ModelAndView loginForm(){
    return new ModelAndView("login-form");
} 

2) 这是我在检索数据“POST”方法时尝试使用的方法

@Autowired(value="/user-login", method=RequestMethod.POST)
public ModelAndView loginForm() {
    if(user.getRole()=="User"){
        System.out.println("This is the Developer View");
    } else if(user.getRole()=="Admin"){
        System.out.println("This is the Admin view");
    }
}

【问题讨论】:

标签: java spring model-view-controller


【解决方案1】:

就像我在评论中提到的那样,在 java 中比较字符串时,您使用.equals(),而不是==,您可能还想调用toUpperCase()toLowerCase(),因为字符串比较是区分大小写的。

在您的 post 方法中,如果您尝试将用户输入绑定到 java 变量,请查看 @RequestParam

我不推荐您处理登录的方式,使用 Spring Security 是一种标准方式。 http://www.mkyong.com/spring-security/spring-security-custom-login-form-annotation-example/

【讨论】:

    【解决方案2】:

    这取决于您使用的表单类型。如果它是弹簧形式,您将不得不修改您的方法和逻辑。弹簧表单使用一个空对象并使用通过表单提交的值填充它。然后,您可以从处理请求的方法访问该对象。

    有关 Spring 表单标签的更多信息,请参阅以下教程: http://www.baeldung.com/spring-mvc-form-tutorial

    如果您使用的是常规 HTML 表单,则可以将参数传递给处理表单请求的方法。

    public String handleForm(@Requestparam("name") String name){
    //handle request
    return "nextpage"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      • 2011-11-29
      • 2021-11-28
      • 2019-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多