线路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中编辑的问题
答案 0 :(得分:6)
您将苹果与梨进行比较。除了这是Spring MVC注释之外,两个注释都没有任何共同之处,并且您对@RequestMapping("categoryName")
的使用是错误的!
@RequestMapping
是一个类或方法注释,用于将请求URL映射到java方法。@RequestParam
是一个(Method)字段注释,用于将请求参数绑定到方法参数 也许你将@RequestMapping
与@PathVariable
混为一谈,而你的问题是关于@RequestParam
和@PathVariable
的区别 - 然后看看这个{{3} }} 的
答案 1 :(得分:1)
@RequestMapping
将请求映射到资源。它用于不在其参数中的方法.From SpringByExample
@Controller表示该类是Spring MVC控制器 由上下文自动注册的构造型:组件扫描 在web-application-context.xml中。 @RequestMapping注释 方法使用value属性将方法映射到路径。该 method属性用于指示HTTP请求类型(例如:GET, POST,DELETE)。
@RequestParam
将资源URL中的参数绑定到方法中的参数。