如题,这个是以前做的笔记,现在搬到博客上......

package com.ruide.action;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;

import org.springframework.http.HttpRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import com.ruide.po.User;

//让spring管理类
@Controller
public class TestAction {
//设置请求路径
@RequestMapping(value="/hello.do")
public String say(){
System.out.println("Hello World"); //return "index";//默认请求转发 return "redirect:/index.jsp";
} /*
* ----------------------如何从页面里获取值----------------------
*
* */ //方法1:使用request接受参数
@RequestMapping("/login.do")
public String login(HttpServletRequest request){
String username=request.getParameter("username");
String userpass=request.getParameter("userpass");
System.out.println(username+userpass); return null;
} //方法2:直接通过注解在参数中获取值
@RequestMapping("/login.do")
public String login(@RequestParam("username") String username,
@RequestParam("userpass") String userpass){ System.out.println(username+" "+userpass); return null;
} //方法3:通过对象来接受值(该方法需要控件name与对象属性一致)
@RequestMapping("/login.do")
public String login(User user){ System.out.println(user.getUsername()+" "+user.getUserpass()); return null;
} //方法4:通过与控件name同名的变量接受值
@RequestMapping("/login.do")
public String login(String username,String userpass){ System.out.println(userpass+" "+username); return "index";
} /*
* ----------------------如何把值传递到页面----------------------
*
* */ //方法1:通过request把值传递到页面
@RequestMapping("/login.do")
public String login(User user,HttpServletRequest request){ request.setAttribute("username",user.getUsername());
request.setAttribute("userpass", user.getUserpass()); return "index";
} //方法2:通过框架自带的modelmap集合传递到页面
@RequestMapping("/login.do")
public String login(User user,ModelMap mm){ mm.put("username", user.getUsername());
mm.put("userpass", user.getUserpass()); return "index";
} //方法3:通过框架自带的model and view传递值(常用)
@RequestMapping("/login.do")
public ModelAndView login(User user){
//把值放入一个键值对中
// Map<String,String> model=new HashMap<String,String>();
// model.put("username", user.getUsername());
// ModelAndView mv=new ModelAndView("index",model);
//把对象直接放入键值对中
ModelAndView mv=new ModelAndView();
mv.addObject("user",user);
//设置要转发的页面
mv.setViewName("index");
return mv;
} //方法4:通过注解传递值(注解中的名字会被赋值)
//注意:注解过的方法会在整个action接受到请求时最先执行(不推荐使用)
@ModelAttribute("name")
public String getName(){
return "haha";
}
}

在SpringMVC中,jsp和后台互相传值的更多相关文章

  1. SpringMVC中JSP页面显示为源码

    @RequestMapping(value = "login") public ModelAndView login(ModelAndView mav) throws Except ...

  2. springMVC中ajax和后台数据格式错误

    前台ajax: $.ajax("${pageContext.request.contextPath}/hello",// 发送请求的URL字符串. { dataType : &qu ...

  3. SpringMVC中JSP取不到ModelAndView,ModelMap的数据原因

    最近maven了一个web项目 无论我用ModelAndView还是ModelMap,在视图层不管是用 ${msg} 还是用JSTL的<c:out value="${msg}" ...

  4. SpringMVC中JSP取不到ModelAndView的数据原因

    自己搭的项目突然EL表达式取不到值了 不管是用 ${msg} 还是用JSTL的<c:out value="${msg}"/> 都不行 才发现犯了一个平时不会注意的错误 ...

  5. springmvc 中controller与jsp传值

    参考:springmvc 中controller与jsp传值 springMVC:将controller中数据传递到jsp页面 jsp中,死活拿不到controller中的变量. 花了半天,网上列出各 ...

  6. struts2中jsp前台传值到后台action的方法(转)

    在Struts2中jsp前台传值到action后台的方法 分类: java2012-02-28 13:58 2171人阅读 评论(1) 收藏 举报 actionstrutsjspgetterstrin ...

  7. SpringMVC中,前台jsp封装参数,绑定参数,传递参数到后台controller的过程详解

    前台到后台的流程:前台jsp->后台:controller控制器层->service业务层->DAO数据访问层->数据库model模型层. 从上面流程可知,前台jsp的数据,想 ...

  8. SpringMVC中控制器接收JSP页面表单的参数接收方式详解及细节注意(400错误)

    控制器方法中参数的接收 (1)以前的参数接收: String  param = req.getParameter(name): (2)SpringMVC简化这个操作,只需要给控制器方法添加参数即可 a ...

  9. SpringMVC中数据转换

    SpringMVC中接收到的数据都是String形式,然后再根据反射机制将String转换成对应的类型.如果此时想接收一个Date类型,那么我们可以定义一个转换器来完成. 例如,我们有下面的Emp类: ...

随机推荐

  1. java一个类 继承HttpServlet 和实现Servlet区别

    java一个类 继承HttpServlet 和实现Servlet区别 servlet 是一个接口,如果实现这个接口,那么就必须实现接口里面定义的所有方法 而HttpServlet实现了servlet接 ...

  2. 第四次作业;创建raid5,源码编译安装;磁盘配额

    创建raid5 格式化 ext4 创建物理卷: 创建卷组: 创建逻辑卷: 格式化  ext4 挂载 开机自启动 创建raid配置文件 源码编译安装: 创建本地yum仓库 umount /dev/sr0 ...

  3. Button 使用详解

    极力推荐文章:欢迎收藏 Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以 ...

  4. 自定义 Button 选择器

    极力推荐文章:欢迎收藏 Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以 ...

  5. Template(模板)模式

    第三章:模板模式 Template模式比较简单,是基于继承关系的一种设计模式,由父类定义处理流程框架,由子类中实现具体处理. Code: package example.template; /*** ...

  6. hadoop学习(六)----HDFS的shell操作

    HDFS所有命令: [uploaduser@rickiyang ~]$ hadoop fs Usage: hadoop fs [generic options] [-appendToFile < ...

  7. 如何使用dmidecode命令查看硬件信息

    引言 当我们需要获取机器硬件信息时,可使用linux系统自带的dmidecode工具进行查询. dmidecode命令通过读取系统DMI表,显示服务器硬件和BIOS信息.除了可使用dmidecode查 ...

  8. 认识Linux工具

    Centos7镜像网站:清华,阿里,网易 软件安装:lamp   httpd (认识) yum: 安装工具    需要选版本和特性,所以生产不用yum rpm:安装依赖 源码编译 shell脚本:yu ...

  9. .NETCore C# 中级篇2-4 一文带你完全弄懂正则表达式

    .NETCoreCSharp 中级篇2-4 本节内容为正则表达式的使用 简介 有的时候,你是否有过这种需求:判断一个Ip地址.邮箱.密码规则是否合法.如果让你使用if一类的传统方法进行处理,你肯定会被 ...

  10. .netcore持续集成测试篇之MVC测试

    前面我们讲的很多单元测试的的方法和技巧不论是在.net core和.net framework里面都是通用的,但是mvc项目里有一种比较特殊的类是Controller,首先Controller类的返回 ...