@RequestParam 和@RequestMapping 的区别
diffrence between @RequestParam and @RequestMapping
第 1 行:
public ModelAndView viewCustomerDetails(@RequestParam("custId") Integer customerId, @RequestParam("categoryName") String categoryName, HttpServletRequest request) throws BusinessException{
第 2 行:
public ModelAndView viewCustomerDetails(@RequestMapping("custId") Integer customerId, @RequestMapping("categoryName") String categoryName, HttpServletRequest request) throws BusinessException{
我正在检查我的项目代码,在 @RequestParam
和 @RequestMapping
中有些混乱,有时我发现 @RequestParam
有时 @RequestMapping
。据我了解,两者都会将 custId
的值分配给 customerId
数据成员。
我的 jsp 文件的一部分:
<form:input mandatory="true" id="CustNameTxt" path="custName" cssClass="txtfield controlWidth" readonly="false" />
为了更好地理解我的问题,我在 Line2 中进行了编辑
@RequestMapping
将请求映射到资源。它用于不在其参数中的方法。来自 SpringByExample
The @Controller indicates the class is a Spring MVC controller
stereotype which is automatically registered by context:component-scan
in the web-application-context.xml. The @RequestMapping annotation on
the methods use the value attribute to map the method to a path. The
method attribute is used to indicate the HTTP request type (ex: GET,
POST, DELETE).
@RequestParam
将资源 URL 中的参数绑定到方法中的参数。
你比较苹果和梨。这两个注释没有任何共同点,只是这是 Spring MVC 注释,并且您对 @RequestMapping("categoryName")
的用法是 错误的 !
@RequestMapping
是一个 class 或方法注释,用于将请求 url 映射到 java 方法。
@RequestParam
是一个(方法)字段注解,用于将请求参数绑定到方法参数
也许您将 @RequestMapping
与 @PathVariable
混合在一起,而您的问题是关于 @RequestParam
和 @PathVariable
的区别 - 然后看看这个answer.
第 1 行:
public ModelAndView viewCustomerDetails(@RequestParam("custId") Integer customerId, @RequestParam("categoryName") String categoryName, HttpServletRequest request) throws BusinessException{
第 2 行:
public ModelAndView viewCustomerDetails(@RequestMapping("custId") Integer customerId, @RequestMapping("categoryName") String categoryName, HttpServletRequest request) throws BusinessException{
我正在检查我的项目代码,在 @RequestParam
和 @RequestMapping
中有些混乱,有时我发现 @RequestParam
有时 @RequestMapping
。据我了解,两者都会将 custId
的值分配给 customerId
数据成员。
我的 jsp 文件的一部分:
<form:input mandatory="true" id="CustNameTxt" path="custName" cssClass="txtfield controlWidth" readonly="false" />
为了更好地理解我的问题,我在 Line2 中进行了编辑
@RequestMapping
将请求映射到资源。它用于不在其参数中的方法。来自 SpringByExample
The @Controller indicates the class is a Spring MVC controller stereotype which is automatically registered by context:component-scan in the web-application-context.xml. The @RequestMapping annotation on the methods use the value attribute to map the method to a path. The method attribute is used to indicate the HTTP request type (ex: GET, POST, DELETE).
@RequestParam
将资源 URL 中的参数绑定到方法中的参数。
你比较苹果和梨。这两个注释没有任何共同点,只是这是 Spring MVC 注释,并且您对 @RequestMapping("categoryName")
的用法是 错误的 !
@RequestMapping
是一个 class 或方法注释,用于将请求 url 映射到 java 方法。@RequestParam
是一个(方法)字段注解,用于将请求参数绑定到方法参数
也许您将 @RequestMapping
与 @PathVariable
混合在一起,而您的问题是关于 @RequestParam
和 @PathVariable
的区别 - 然后看看这个answer.