小编Lyd*_*lph的帖子

Spring MVC:请解释@RequestParam和@ModelAttribute之间的区别

我是Spring MVC的新手.请帮我解开文档.

文档

Spring MVC文档声明(强调我的):

  • @ModelAttribute在method参数上指示应从模型中检索参数.如果模型中不存在,则应首先实例化参数,然后将其添加到模型中.一旦出现在模型中,参数的字段应该从具有匹配名称的所有请求参数中填充.WebDataBinder类将请求参数名称(包括查询字符串参数和表单字段)与名称模型属性字段进行匹配.

  • @RequestParam 将请求参数绑定到控制器中的方法参数.

免责声明/澄清器

我知道@ModelAttribute并且@RequestParam不是相同的东西,不是相互排斥的,不执行相同的角色,并且可以同时使用,因为在这个问题中 - 实际上,@RequestParam可以用于填充字段@ModelAttribute.我的问题更多地是针对其内部运作之间的差异.

题:

@ModelAttribute(用于方法参数,而不是方法)和@RequestParam?之间的区别是什么?特别:

  • 来源:待办事项@RequestParam@ModelAttribute具有信息/人口,在URL即请求参数相同的源,其可以被提供作为被窗体/模型的元素POST编?
  • 用法:检索到的变量@RequestParam被丢弃是否正确(除非传递给模型),而检索@ModelAttribute到的变量会自动输入要返回的模型中?

或者在非常基本的编码示例中,这两个示例之间真正的工作区别是什么?

例1 @RequestParam::

// foo and bar are thrown away, and are just used (e.g.) to control flow?
@RequestMapping(method = RequestMethod.POST)
public String testFooBar(@RequestParam("foo") String foo,
@RequestParam("bar") String bar, ModelMap model) { …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-annotations

46
推荐指数
3
解决办法
4万
查看次数

SQL:GROUP BY多个带CASE语句的列

我是SQL的新手.

我想使用GROUP BY一个CASE声明,如果@myboolean是真的,以特定的方式对结果进行分组.

我已经看过很多关于如何使用GROUP BYCASE BY使用单个字段的示例,或者如何在GROUP BY没有CASE语句的情况下使用多个字段.

我不知道如何将两者结合起来.当我GROUP BYCASE语句中包含字段时,我收到语法错误:

','附近的语法不正确

所以,这有效:

GROUP BY 
/* This works with no enclosing CASE statement */
field1,
field2,
field3,
field4
Run Code Online (Sandbox Code Playgroud)

这会产生语法错误:

GROUP BY 
CASE WHEN (@myboolean=1)
  THEN
    field1,   <-- ERROR HERE:  Incorrect syntax near ','
    field2,
    field3,
    field4
  ELSE 
    field1
  END
Run Code Online (Sandbox Code Playgroud)

我已经看过这些问题:

sql t-sql sql-server

7
推荐指数
1
解决办法
2431
查看次数

Jenkins:将Java 6升级到Java 8有什么风险?

在工作中,我继承了Jenkins的两个实例.一个在Java 1.5上运行遗留作业.另一个在Java 1.6上运行更新的项目.

我被要求将两个实例升级到Java 1.8.

这将涉及升级:

  • Java 1.6到1.8
  • 詹金斯从1.460到1.614
  • Glassfish从3.1.2到4.1

题:

我开始升级时应该注意什么?(例如从JDK6升级到JDK8的风险)

这些版本之间是否存在已知的兼容性错误?

java compatibility upgrade glassfish jenkins

0
推荐指数
1
解决办法
5478
查看次数