热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

一篇文章带你了解SpringMVC数据绑定

文章目录[隐藏]1.配置web.xml2.在res
文章目录[隐藏]
  • 1.配置web.xml
  • 2.在resources目录下配springmvc_servlet.xml
  • 3.在WEB-INF目录下新建jsp文件夹
  • 4.在java目录下新建com.sxau2包并在子目录下新建Controller、pojo、servlet包
  • 5.编写前端首页index.jsp页面
  • 6.在jsp文件夹下新建goodsAdd.jsp、goodsList.jsp goodsAdd.jsp
  • 7.运行注意事项:
  • 总结

这篇文章主要给大家介绍了关于如何通过一篇文章弄懂Spring MVC的参数绑定,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

参考应用ch4创建应用practice44。在应用practice44中创建两个视图页面addGoods.jsp和goodsList.jsp。addGoods.jsp页面的来源gaodaimacom搞#代%码网显示效果如图4.5所示,goodsList.jsp页面的显示效果如图4.6所示。

图4.5 添加商品页面

图4.6 商品显示页面​

具体要求:

1.商品类型由控制器类GoodsController的方法inputGoods进行初始化。GoodsController类中共有三个方法:inputGoods、addGoods和listGoods。

2.使用Goods模型类封装请求参数。

3.使用Service层,在Service的实现类中,使用静态集合变量模拟数据库存储商品信息,[email protected]

​ 4.通过地址http://localhost:8080/practice44/goods/input访问addGoods.jsp页面。

​ 5.其他的注意事项参见应用ch4。

1.配置web.xml

    springmvc_10org.springframework.web.servlet.DispatcherServlet contextConfigLocationclasspath:springmvc_servlet.xml springmvc_10/ characterEncodingFilterorg.springframework.web.filter.CharacterEncodingFilter encodingUTF-8 forceEncodingtrue characterEncodingFilter/*

2.在resources目录下配springmvc_servlet.xml

    

3.在WEB-INF目录下新建jsp文件夹

4.在java目录下新建com.sxau2包并在子目录下新建Controller、pojo、servlet包

Controller包下新建GoodsController.java

 package com.sxau2.controller; import com.sxau2.pojo.Goods; import com.sxau2.servlet.GoodsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import java.util.ArrayList; @Controller @RequestMapping("/goods") public class GoodsController { @Autowired private GoodsService goodsService; @RequestMapping("/add") public String add(Model model){ Goods goods = new Goods(); model.addAttribute("goods",goods); model.addAttribute("goodsTypes",new String[]{"电器","食品","家居","数码"}); return "goodsAdd"; } @RequestMapping("/save") public String save(@ModelAttribute Goods goods,Model model){ if (goodsService.addGoods(goods)){ return "redirect:/goods/list"; }else return "/goods/add"; } @RequestMapping("/list") public String list(Model model){ ArrayList goods = goodsService.listGoods(); System.out.println(goods.toString()); model.addAttribute("listgoods",goods); return "goodsList"; } } 

pojo包下新建Goods.java实体类

 package com.sxau2.pojo; public class Goods { String goodsName; String goodsPrice; String goodsType; public String getGoodsName() { return goodsName; } public void setGoodsName(String goodsName) { this.goodsName = goodsName; } public String getGoodsPrice() { return goodsPrice; } public void setGoodsPrice(String goodsPrice) { this.goodsPrice = goodsPrice; } public String getGoodsType() { return goodsType; } public void setGoodsType(String goodsType) { this.goodsType = goodsType; } @Override public String toString() { return "Goods{" + "goodsName='" + goodsName + '\'' + ", goodsPrice='" + goodsPrice + '\'' + ", goodsType='" + goodsType + '\'' + '}'; } } 

service业务层新建GoodsService.java

 package com.sxau2.servlet; import com.sxau2.pojo.Goods; import java.util.ArrayList; public interface GoodsService { boolean addGoods(Goods goods); ArrayList listGoods(); } 

service业务层新建Impl包并在包下新建GoodsServiceImpl.java

 package com.sxau2.servlet.impl; import com.sxau2.pojo.Goods; import com.sxau2.servlet.GoodsService; import org.springframework.stereotype.Service; import java.util.ArrayList; @Service public class GoodsServiceImpl implements GoodsService { private static ArrayList goodsList = new ArrayList(); @Override public boolean addGoods(Goods goods) { goodsList.add(goods); return true; } @Override public ArrayList listGoods() { return goodsList; } } 

5.编写前端首页index.jsp页面

    

欢迎来到首页

跳转到商品首页

6.在jsp文件夹下新建goodsAdd.jsp、goodsList.jsp goodsAdd.jsp

     
商品名称:
商品价格:
商品类型: 请选择

goodsList.jsp

    商品展示继续添加
商品名称商品价格商品类型
${goods.goodsName}${goods.goodsPrice}${goods.goodsType}

7.运行注意事项:

地址栏:http://localhost:8080/

增加商品栏地址:http://localhost:8080/goods/add

商品展示地址:http://localhost:8080/goods/list

运行截图:

总结

以上就是一篇文章带你了解SpringMVC数据绑定的详细内容,更多请关注gaodaima编程笔记其它相关文章!



推荐阅读
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • MVC设计模式的介绍和演化过程
    本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • Asp.net Mvc Framework 七 (Filter及其执行顺序) 的应用示例
    本文介绍了在Asp.net Mvc中应用Filter功能进行登录判断、用户权限控制、输出缓存、防盗链、防蜘蛛、本地化设置等操作的示例,并解释了Filter的执行顺序。通过示例代码,详细说明了如何使用Filter来实现这些功能。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
author-avatar
zevbin_187
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有