注:在springmvc入门的基础上进行操作

1.springmvc-servlet.xml

<!--   开启扫描 -->

<context:component-scan base-package="com.demo.contoller">

<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>

</context:component-scan>

<!--   开启spring mvc注解 -->

<mvc:annotation-driven/>

2.Web.xml

<servlet>

<servlet-name>springMVC</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:springmvc-servlet.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>springMVC</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

3.jsp

<body>

<form action="login.do"method="post">

用户名<input type="text" name="uname"><br>密&nbsp;码<input

type="password" name="pwd"><br>

<input type="hidden"name="choose" value="1">

<input type="submit"value="登录">

</form>

</body>

4.在

4.1单个属性的转调

a.RequestMapping

@RequestMapping(value="/login.do",params="choose=2",method=RequestMethod.GET)//value对应3中action,params对应from中属性,method对应from中method

public String login2(String uname,String  pwd) {

System.out.println("进入choose=2的get请求方法");

return  null;

}

@RequestMapping(value="/login.do",params="choose=2",method=RequestMethod.POST)

public String login(String uname,String  pwd) {

System.out.println("进入choose=2的post请求方法");

return  null;

}

@RequestMapping(value="/login.do",params="choose=1")

public String login1(String uname,String  pwd) {

System.out.println("进入choose=1的方法");

return  null;

}

b.SessionAttributes(将ModelMap中指定的属性放到session中)

@Controller

@SessionAttributes({"username"})//usernama代表存在map中的key

publicclass UserController {

@RequestMapping(value = "/login.do", params = "choose=2", method = RequestMethod.GET)

public String login2(String uname, String pwd, ModelMap map) {

System.out.println("进入choose=2的get请求方法");

System.out.println("用户名:" + uname);

map.addAttribute("username", uname);

return"forward:index.jsp";

}

@RequestMapping(value = "/login.do", params = "choose=2", method = RequestMethod.POST)

public String login(String uname, String pwd, ModelMap map) {

System.out.println("进入choose=2的post请求方法");

System.out.println("用户名:" + uname);

map.addAttribute("username", uname);

return"forward:index.jsp";

}

@RequestMapping(value = "/login.do", params = "choose=1")

public String login1(String uname, String pwd) {

System.out.println("进入choose=1的方法");

returnnull;

}

}

c.ModelAttribute注解void返回值的方法

@Controller

public class HelloModelController {

@ModelAttribute

public void populateModel(@RequestParam("username") String abc, Model model) {

model.addAttribute("attributeName", abc);

}

@RequestMapping("/helloWorld")

public String helloWorld() {

return " forward:index.jsp ";

}

}

4.2对象的转调

1.创建一个对象

publicclass User {

private String username;

private String pwd;

public String getUsername() {

returnusername;

}

publicvoid setUsername(String username) {

this.username = username;

}

public String getPwd() {

returnpwd;

}

publicvoid setPwd(String pwd) {

this.pwd = pwd;

}

@Override

public String toString() {

return"User [username=" + username + ", pwd=" + pwd + "]";

}

}

2.在controller中

@Controller

publicclass HelloModelController {

@ModelAttribute

public User populateModel(User  user) {

returnuser;

}

@RequestMapping("/helloWorld")

public String helloWorld() {

System.out.println("进入....");

return"forward:index.jsp";

}

}

3.对象合并

package com.demo.pojo;

publicclass User {

private String username;

private String pwd;

private  String love;

public String getLove() {

returnlove;

}

publicvoid setLove(String love) {

this.love = love;

}

public String getUsername() {

returnusername;

}

publicvoid setUsername(String username) {

this.username = username;

}

public String getPwd() {

returnpwd;

}

publicvoid setPwd(String pwd) {

this.pwd = pwd;

}

@Override

public String toString() {

return"User [username=" + username + ", pwd=" + pwd + ", love=" + love + "]";

}

}

@Controller

publicclass HelloModelController {

@ModelAttribute

public User populateModel() {

User  user=new User();

user.setLove("小丽");

returnuser;

}

@RequestMapping("/helloWorld")

public String helloWorld(User  user) {

System.out.println("进入....");

return"forward:index.jsp";

}

}

5.jsp中显示

<body>

<h1>request作用域:${requestScope.user}</h1>

</body>

案例: 场景:比如 在项目中显示所有项目/某用户的所有项目Controller中 ulr对应的名字是一致相关推荐

  1. 微博机型Android怎么去掉,如何设置微博来源中显示出的手机型号 怎么去掉微博来源中的android字样...

    如何设置微博来源中显示出的手机型号 怎么去掉微博来源中的android字样 微博是一款分享.传播.获取实时信息的社交网络平台,是现在年轻人最爱的一款社交App,可是,不少朋友还不知道怎么设置微博来源中 ...

  2. html中显示shell脚本的输出,网页从shell脚本中输入并显示结果

    首先,不是在BASH脚本中使用$USERNAME. $USERNAME是一个包含当前用户名的BASH变量.实际上,在BASH中使用UPPERCASE变量通常是一个糟糕的主意.大多数BASH环境变量都是 ...

  3. Unity 3D:在现有的Android游戏场景中显示AdMob的横幅

    2019独角兽企业重金招聘Python工程师标准>>> 关于如何在现有的Android项目现场显示AdMob的横幅,在一个Android项目中使用一个简单的Android JAR文件 ...

  4. c++win32项目 如何显示后再删除一个绘图_47个快捷键50个CAD技巧,助你神速绘图拒绝加班!...

    终于知道为什么别人用CAD总比我快了,原来他们早就掌握了这些实用的CAD技巧,还没看完我就默默地转了,总有用得到的时候. CAD常用命令 47个常用快捷键 1. 创建直线的快捷方式是L+空格 2. 创 ...

  5. LabVIEW主VI前面板中显示或使用多个子VI

    LabVIEW主VI前面板中显示或使用多个子VI 想在程序中连接一个或多个子VI的前面板,但是当调用它们时,每个子VI在计算机屏幕上显示为一个新窗口.那么怎么能让每个子VI作为主VI前面板的一部分进行 ...

  6. Thonny开发环境中显示数据曲线

    ▌01 开发MicroPython环境 1.简介 MicroPython 是一款运用在单片机上PYthon3 的版本,基于他对于MCU的开发就变成的非常容易.使用 安装 Thonny 软件环境开发PI ...

  7. 【opencv】3.在一个opencv窗口中显示多个视频界面、画箭头、画掉头箭头

    1.在一个opencv窗口中显示不同视频界面 /** * @brief 在一个opencv窗口win_name中显示不同视频界面 * @param img_1 和 img_2 是分别是取自不同视频中的 ...

  8. list-style-type:decimal在IE中显示全是1的解析

    今天在布局的时候碰到了一个老问题,以前也没多大去注意,相信大家也都一样,现在简单的贴下: 为什么: list-style-type:decimal在ie中显示的全是1,在其他浏览器中却正常显示. 部分 ...

  9. c++win32项目 如何显示后再删除一个绘图_CAD提高绘图效率的秘诀在这里

    致力于培养真正懂得做设计的优秀塑胶模具设计工程师,提供优质的学习服务--更多内容请微信搜索关注微信公众号:塑胶模具实用教程 文字镜像如何设置转动与不转动 A.在镜像前,输入MIRRTEXT指令 B.输 ...

  10. 计算机获取的系统时间是什么时间格式,【excle怎样获取当前日期格式】如何在EXCEL中显示当天的日期和时间?...

    Excel中,如何用函数获取当前日期(即系统日期)的月份值? 个=month(today()). 当月=month(today()),当日=day(today()). =TODAY()获得当前日期,形 ...

最新文章

  1. 给.net程序打内存补丁-转
  2. 程序运行依赖的重要文件版本不对_Deno核心模块:灵活依赖amp;安全沙箱
  3. 使用ConfigModule.withConfig替换SAP Spartacus标准Component
  4. python之绝对导入和相对导入
  5. 互联网35岁中年危机的来龙去脉
  6. IDEA 编译构建等工程配置
  7. ArrayList实现原理及源码分析之JDK8
  8. console.log()中的运算与打印事件
  9. javascript数据结构之队列
  10. 关于使用easyui dataGrid遇到的小bug问题
  11. java jsp 乱码_JSP中文乱码问题
  12. 关于百度云《Sugar BI》数据可视化的使用
  13. GEE:LandTrendr时间序列曲线拟合
  14. 小白学习java第11天多态抽象类接口
  15. 【安全牛学习笔记】Kali Linux基本工具
  16. 从《100道光芒》到《可爱冠军的诞生》:湖南广电打响“参与式”电商突围战
  17. 微信公众号数据2019_数据丨2019年微信公众号文章数据报告!
  18. 清明节全国哀悼,那么网站全部变灰是怎么实现的?
  19. 信息学奥赛一本通 1354:括弧匹配检验
  20. 解决C盘根目录不能创建文件,只能创建文件夹问题

热门文章

  1. 这几个批量文件重命名工具,一个比一个好用
  2. 中华人民共和国电子商务法
  3. java网站模版 Bootstrap HTML5 企业源码
  4. Deepin Linux系统怎安装打印机? 兄弟1618w打印机驱动安装图文教程
  5. 如何构建基于微内核的插件系统(一)
  6. 计算机自强之星个人事迹简介,诚信自强之星个人事迹简介
  7. 犯罪心理学Seasons one
  8. LOV抛出值无效的异常
  9. 程序员健康:编程之余保护眼睛
  10. 百度地图的定位与操作 zrj