通过表单Spring Framework提交数据

时间:2015-12-28 21:06:21

标签: java spring model-view-controller

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

我导入了User类。 1)此方法显示表单“获取”方法

@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");
    }
}

2 个答案:

答案 0 :(得分:1)

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

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

我不建议您处理登录的方式,使用弹簧安全更多是标准方式。 http://www.mkyong.com/spring-security/spring-security-custom-login-form-annotation-example/

答案 1 :(得分:0)

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

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

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

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