爪哇2博客
爪哇2博客

春季MVC @ModelAttribute示例

@ModelAttribute是最重要的竞彩篮球分析 MVC注释之一。

有两种创建模型对象的方法。
  • 会话或ModelMap对象中已经存在对象。
  • 使用@ModelAttribute批注注释另一种方法并创建模型对象。该方法将在实际的处理程序调用之前被调用。

例:

源代码:

点击开始

20KB .zip

以下是创建竞彩篮球分析 MVC 型号属性示例的步骤。

1) 创建一个 在Eclipse中使用Maven的动态Web项目 named “竞彩篮球分析MVCModelAttributeExample”

马文依赖

2) 我们需要在类路径中添加Jackson json实用程序。

1
2
3
4
5
6
7
 
<依赖>
            <groupId>com.fastxml.杰克逊.核心</groupId>
            <artifactId>杰克逊-数据绑定</artifactId>
             <>2.4.1</>
</依赖>
 

弹簧将自动将Jackson2JsonMessageConverter加载到其应用程序上下文中。每当您使用接受的标头=”接受= 应用程式lication / json”,然后Jackson2JsonMessageConverter进入图片并将资源转换为json格式。

现在,按如下所示更改pom.xml:
pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
<项目 XML文件ns="http://maven.apache.org/POM/4.0.0" XML文件ns:si="http://www.w3.org/2001/XMLSchema-instance"
  si:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <模型Version>4.0.0</模型Version>
  <groupId>com.Arpit.爪哇2blog</groupId>
  <artifactId>弹簧RestfulWebServicesWithJSONExample</artifactId>
  <打包>战争</打包>
  <>0.0.1-快照</>
  <名称>弹簧RestfulWebServicesWithJSONExample 马文 网络应用</名称>
  <网址>http://maven.apache.org</url>
  <依存关系>
    <依赖>
      <groupId>unit</groupId>
      <artifactId>unit</artifactId>
      <>3.8.1</>
      <范围>测试</范围>
    </依赖>
    <依赖>
   <groupId>爪哇x.小服务程序</groupId>
   <artifactId>爪哇x.小服务程序-api</artifactId>
   <>3.1.0</>
  </依赖>
 
  <依赖>
   <groupId>组织.弹簧框架</groupId>
   <artifactId>弹簧-核心</artifactId>
   <>${弹簧.}</>
  </依赖>
  <依赖>
   <groupId>组织.弹簧框架</groupId>
   <artifactId>弹簧-网路mvc</artifactId>
   <>${弹簧.}</>
  </依赖>
   <依赖>
            <groupId>com.fastxml.杰克逊.核心</groupId>
            <artifactId>杰克逊-数据绑定</artifactId>
             <>2.4.1</>
        </依赖>
</依存关系>
<建立>
  <finalName>弹簧RestfulWebServicesWithJSONExample</finalName>
 
  <外挂程式>
   <插入>
    <groupId>组织.阿帕奇.专家.外挂程式</groupId>
    <artifactId>专家-编译器-插入</artifactId>
    <>3.1</>
    <组态>
     <资源>${杰克.}</资源>
     <目标>${杰克.}</目标>
    </组态>
   </插入>
  </外挂程式>
 
</建立>
<属性>
  <弹簧.>4.2.1。发布</弹簧.>
  <杰克.>1.7</杰克.>
</属性>
</项目>
 

弹簧应用程序配置:

3) 如下更改web.xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
<?XML文件 ="1.0" 编码方式=“ UTF-8”?>
<网路-应用程式 XML文件ns:si="http://www.w3.org/2001/XMLSchema-instance"
XML文件ns="http://java.sun.com/xml/ns/javaee"
si:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
="3.0">
<显示-名称>原型 已建立 网页 应用</显示-名称>
  <欢迎-文件-清单>  
   <欢迎-文件>指数.jsp</欢迎-文件>  
 
  </欢迎-文件-清单>
<小服务程序>
<小服务程序-名称>弹簧座</小服务程序-名称>
<小服务程序->
  组织.弹簧框架.网路.小服务程序.分派器
</小服务程序->
<加载--启动>1</加载--启动>
</小服务程序>
 
<小服务程序-映射>
<小服务程序-名称>弹簧座</小服务程序-名称>
<网址-模式>/</网址-模式>
</小服务程序-映射>
 
</网路-应用程式>
 

4) 在/ 网页-INF /文件夹中创建一个名为springrest-servlet.xml的xml文件。
如果您想使用不同的弹簧包来搜索控制器,请更改context:component-scan。请参考 春季MVC Hello World示例 了解更多。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<豆子 XML文件ns="http://www.springframework.org/schema/beans"
XML文件ns:语境="http://www.springframework.org/schema/context"
XML文件ns:多媒体="http://www.springframework.org/schema/mvc" XML文件ns:si="http://www.w3.org/2001/XMLSchema-instance"
si:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
 
<多媒体:注解-驱动的/>
<语境:零件-扫描 基础-=“ 组织.arpit.java2blog.controller” />
<
  =“ 组织.springframework.web.servlet.view.InternalResourceViewResolver”>
  <属性 名称=“字首”>
   <>/网页-INF/</>
  </属性>
  <属性 名称=“后缀”>
   <>.jsp</>
  </属性>
</>
<多媒体:默认-小服务程序-处理程序/>
</豆子>
 

创建bean类

5) Create a 豆 名称 “Country.java”在org.arpit.java2blog.bean中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
组织.Arpit.爪哇2blog.;
 
上市 国家{
 
国家的名字;
人口;
 
上市 国家() {
  ();
}
上市 国家( 国家的名字, 人口) {
  ();
  这个.国家的名字 = 国家的名字;
  这个.人口=人口;
}
上市 getCountryName() {
  返回 国家的名字;
}
上市 虚空 setCountryName( 国家的名字) {
  这个.国家的名字 = 国家的名字;
}
上市 getPopulation() {
  返回 人口;
}
上市 虚空 setPopulation( 人口) {
  这个.人口 = 人口;
}
 
}
 

创建控制器

6) 创建一个名为的控制器“CountryController.java” in 包 组织.arpit.java2blog.controller

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
组织.Arpit.爪哇2blog.控制者;
 
进口 组织.Arpit.爪哇2blog..国家;
进口 组织.弹簧框架.刻板印象.控制者;
进口 组织.弹簧框架.UI .模型图;
进口 组织.弹簧框架.网路.绑定.注解.型号属性;
进口 组织.弹簧框架.网路.绑定.注解.请求映射;
进口 组织.弹簧框架.网路.绑定.注解.请求方法;
进口 组织.弹簧框架.网路.绑定.注解.RequestParam;
 
@控制者
上市 国家Controller {
 
@型号属性
上市 国家 getCountry(@RequestParam 国家的名字, @RequestParam   人口)
{
  国家 国家= 国家();
  国家.setCountryName(国家的名字);
  国家.setPopulation(人口);
  返回 国家;
}
@请求映射( = “ / addCountry”, 方法 = 请求方法.开机自检)
上市 addCountry(@型号属性 国家 国家,模型图 模型) {
  模型.addAttribute(“国家的名字”, 国家.getCountryName());
  模型.addAttribute(“人口”, 国家.getPopulation());
  返回 “国家/地区详细信息”;
}
}
 

1
2
3
 
创造 视图
 

修改 index.jsp as以下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
<>
<style>
 
.blue-button{
背景: #25A6E1;
过滤: 程序: DXImageTransform.Microsoft.gradient( startColorstr='#25A6E1',endColorstr ='#188BC0',GradientType = 0);
填充:3px 5px;
颜色:#fff;
字体系列:Helvetica Neue,无衬线字体;
字体大小:12px;
边界半径:2px;
-moz-border-radius:2px;
-webkit-border-radius:4px;
边境:1px 固体 #1A87B9
}    
{
  字体系列: “ Helvetica Neue”, Helvetica, 无衬线字体;
   宽度: 50%;
}
{
  背景: 钢铁蓝;
  颜色: 白色;
}
{
                边境: 1px 固体 灰色;
                宽度: 25%;
                文字对齐: 剩下;
                填充: 5px 10px;
            }
</style>
</>
<身体>
<形成 行动=“ addCountry” 方法=“帖子”>
 
<>
  <TR>
   <科尔斯潘="2">国家</>
  </TR>
  <TR>
   <d>国家</d>
   <d><输入 类型=“文本” 名称=国家的名字></d>
  </TR>
  <TR>
   <d>人口</d>
   <d><输入 类型=“文本” 名称=人口>
  </d></TR>
  <TR>
   <d 科尔斯潘="2"><输入 类型=“提交”
    =“蓝色按钮” /></d>
  </TR>
</>
 
</形成>
</身体>
 

创造 国家Details.jsp in /网页-INF / 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<%@ 语言=“ 爪哇” 内容类型=“文本/ html; charset = UTF-8”
    页Encoding=“ UTF-8”%>
<!DOCTYPE html 上市 “-// W3C // DTD HTML 4.01 Transitional // EN” "http://www.w3.org/TR/html4/loose.dtd">
<html>
<>
<http-当量=“内容类型” 内容=“文本/ html; charset = UTF-8”>
<标题>国家 细节</标题>
</>
<身体>
  添加 国家 :
<h3>国家 名称: {国家的名字}</h3>
<h3>人口 : ${人口}</h3>
</身体>
</html>
 

7) It ‘是时候进行Maven构建了。

Right click 上 项目 -> Run as -> 马文 建立

马文构建在Eclipse中
8) 提供目标作为全新安装(如下所示)并单击运行
马文构建在Eclipse中

运行应用程序

9) Right click 上 项目 -> run as -> run 上 server
选择Apache tomcat,然后单击完成

10)您将看到如下屏幕:

春季MVC模型属性示例

11)点击提交按钮,您将看到以下屏幕。


导入联系人

您可能还喜欢:

分享这个

作者

关注作者

相关文章

  • 7月10日

    春季MVC教程

    在这篇文章中,我们将学习竞彩篮球分析 MVC教程。 春季MVC框架是一个健壮的模型视图控制器框架,可帮助我们开发松耦合的Web应用程序。它借助MVC架构分离Web应用程序的不同方面。模型:模型携带应用程序数据。它通常以[…]

  • 9月13日

    春季MVC + 弹簧数据 + 冬眠 + 的MySQL示例

    在这篇文章中,我们将看到竞彩篮球分析 MVC,竞彩篮球分析 Data,hibernate和mysql CRUD示例的集成。在上一教程中我们已经看到了竞彩篮球分析 MVC,hibernate和mysql示例。 春季数据 JPA提供了CRUD API,因此您不必’不必编写样板代码。您只需要创建存储库接口,spring就会提供[…]

  • 8月26日

    使用@ControllerAdvice示例的竞彩篮球分析 MVC异常处理

    在这篇文章中,我们将看到如何使用@ControllerAdvice在竞彩篮球分析 MVC中进行异常处理。在上一篇文章中,我们已经看到了如何使用@ExceptionHandler来处理异常,但是@ExceptionHandler只能应用于一个控制器,但是如果要全局(即跨多个控制器)处理异常怎么办?您可以使用@ControllerAdvice处理[…]

  • 8月26日

    使用@ExceptionHandler示例的竞彩篮球分析 MVC异常处理

    在这篇文章中,我们将看到如何使用@ExceptionalHandler在竞彩篮球分析 MVC中进行异常处理。发生异常时,可以使用@ExceptionHandler重定向到错误视图。让我们借助示例来理解这一点:源代码:下载单击以开始20KB .zip 1)在Eclipse中使用maven创建一个动态Web项目“竞彩篮球分析MVCExceptionalHandlerExample”Maven依赖项2)…]

  • 8月25日

    春季MVC休眠MySQL CRUD示例

    在这篇文章中,我们将看到竞彩篮球分析 MVC,hibernate和mysql CRUD示例的集成。在上一教程中,我们已经看到了竞彩篮球分析 Rest与hibernate的集成。 春季MVC教程竞彩篮球分析 MVC你好世界示例竞彩篮球分析 MVC休眠MySQL示例竞彩篮球分析 MVC 春季数据示例竞彩篮球分析 MVC Interceptor示例竞彩篮球分析 MVC angularjs […]

  • 8月23日

    春季MVC + log4j示例

    在本文中,我们将看到如何将竞彩篮球分析 MVC与log4j集成。 春季MVC教程:竞彩篮球分析 MVC hello世界示例竞彩篮球分析 MVC休眠MySQL示例竞彩篮球分析 MVC拦截器示例竞彩篮球分析 MVC angularjs 示例竞彩篮球分析 MVC @RequestMapping示例竞彩篮球分析组件,服务,存储库和控制器示例竞彩篮球分析 MVC @ModelAttribute注释示例竞彩篮球分析 MVC @RestController注释示例竞彩篮球分析 […]

发表评论 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


成为朋友

©2020 爪哇2博客