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

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. 林大妈的JavaScript基础知识(一):JavaScript简史

    前言:做一名Web设计师是一件令人兴奋的事.在Web技术中,JavaScript是一个经历从被人误解到万众瞩目的巨大转变,在历史的冲击中被留存下来的个体.因为JavaScript的引导,Web开发也从 ...

  2. 了解下Java中的Serializable

      在项目中也写了不少的JavaBean,也知道大多的JavaBean都实现了Serializable接口,也知道它的作用是序列化,序列化就是保存,反序列化就是读取.主要体现在这两方面: 1.存储.将 ...

  3. springcloud-eureka

    作者:纯洁的微笑出处:http://www.ityouknow.com/ 版权归作者所有,转载请注明出处 Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service ...

  4. 机器学习经典算法之AdaBoost

    一.引言 在数据挖掘中,分类算法可以说是核心算法,其中 AdaBoost 算法与随机森林算法一样都属于分类算法中的集成算法. /*请尊重作者劳动成果,转载请标明原文链接:*/ /* https://w ...

  5. vue教程二 vue组件(1)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script ...

  6. Android Studio 蓝牙开发实例——基于Android 6.0

    因项目需要做一个Android 的蓝牙app来通过手机蓝牙传输数据以及控制飞行器,在此,我对这段时间里写的蓝牙app的代码进行知识梳理和出现错误的总结. 该应用的Compile Sdk Version ...

  7. Golang版本的rocksdb-对gorocksdb的封装

    rocksdb的优秀特性不用多说,但是它是用c++语言写的,就是这一个特点就把很多人拦住了.虽然rocksdb官方也有Java版本,但是Golang的发展速度让人不容小觑,而且由于golang原生对高 ...

  8. 自定义SWT控件五之自定义穿梭框

    5.自定义穿梭框 package com.view.control.shuttlebox; import java.util.ArrayList; import java.util.HashMap; ...

  9. 解释一下一门语言该有的东东(Javascript)

    注释 Js中有两种注释 // 单行注释 /**/ 多行注释 变量 变量就像学校学习的 未知数 如 3 + x = 8 x: 类似变量,在改造一下 x + y = z 当 x=3, y=5, z=8, ...

  10. 【POJ - 3273】Monthly Expense (二分)

    Monthly Expense 直接上中文 Descriptions 给你一个长度为N的序列,现在要让你把他们切割成M份(所以每一份都是连续的),然后每一份都有一个和sum[i],其中最大的一个是ma ...