【问题标题】:Spring Controller info弹簧控制器信息
【发布时间】:2014-12-14 02:26:08
【问题描述】:

@Controller 的这两个方法是一样的吗?它们有什么不同? 这是一个带有表单的 Spring mvc 示例。第一种方法是否将对象添加到模型中??谢谢

@Controller
public class HomeController{

@RequestMapping(method = RequestMethod.GET)
public Member form() { 
  return new Member();
}


@RequestMapping(method = RequestMethod.GET)
public void form() { 
 model.addAttribute(new Member());

}
}

【问题讨论】:

    标签: spring spring-mvc jakarta-ee servlets controller


    【解决方案1】:

    您的代码无法编译,但如果您将其更改为例如:

    @RequestMapping(method = RequestMethod.GET)
    public ModelAndView form(ModelAndView model) { 
    model.addObject("member", new Member());
    model.setViewName("view");
    return model
    

    }

    它将尝试返回 view.html(这取决于您如何配置 ViewResolver ),并且 Member 对象将以名称“member”提供

    对于像 Freemarker 这样的模板库 - 所以你可以从它打印一些东西给用户。

    第一种方法可用于例如 REST api,因此您将成员返回给调用您的 HomeController 的任何人。

    【讨论】:

    • 这是一个例子。我想知道第一种方法是否将Member项添加到模型中
    • 不,它只是返回它 - 例如,如果您添加 @ResponseBody,则以 json 形式返回。
    • 我在一本书中找到了第一种方法,上面写着“提供空表单”..这是什么意思?
    猜你喜欢
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    相关资源
    最近更新 更多