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

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. 有不少朋友问我Halcon和Opencv的区别?

    Halcon:机器视觉行业里知名的商业视觉库,非开源的,在国内市场份额处于第一,其提供了1500个多个API算子供开发人员使用,有些编程基础的都可以轻松的入门,其调试也是很方便的,断点单步运行,图像变 ...

  2. 基于redis的消息订阅与发布

    Redis 的 SUBSCRIBE 命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅指定频道的客户端. 作为例子, 下图展示了频道 channel1  ...

  3. GGPLOT2-plotly |让你的火山图“活”过来

    火山图(Volcano Plot)常用于展示基因表达差异的分布,横坐标常为Fold change(倍数),越偏离中心差异倍数越大;纵坐标为P值(P值),值越大差异越显着.原因得名也许的英文因为查询查询 ...

  4. 1.4.2python网站地图爬虫(每天一更)

    # -*- coding: utf-8 -*- ''' Created on 2019年5月6日 @author: 薛卫卫 ''' import urllib.request import re de ...

  5. 【Android】未引入包问题

    Mac 上配置 Android 开发环境,遇到了下面问题: /Users/***/Documents/SVN/Android/***/1.0.3/res/values/styles.xml:21: e ...

  6. Asp.Net MVC HttpPost用法

    一个Action只能用一个http 特性,例如:HttpPost 不能与HttpGet 或者多个HttpPost重复使用,否则会出错 也可以用 [AcceptVerbs("put" ...

  7. golang文档、中文、学习文档

    Golang中文文档地址 http://zh-golang.appspot.com/doc/ Golang非英文文档地址: https://github.com/golang/go/wiki/NonE ...

  8. Mobile game forensics

    My friend Carrie'd like to know "Garena 传说对决" violates any mobile risks such as insecure d ...

  9. python3 编译安装

    前言: Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7版本,默认的python被系统很多程序所依赖,比如centos下的yum就是python ...

  10. JavaWeb——Servlet开发2

    1.HttpServletRequest的使用 获取Request的参数的方法. 方法getParameter将返回参数的单个值 方法getParameterValues将返回参数的值的数组 方法ge ...