在SpringMVC中,jsp和后台互相传值
如题,这个是以前做的笔记,现在搬到博客上......
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和后台互相传值的更多相关文章
- SpringMVC中JSP页面显示为源码
@RequestMapping(value = "login") public ModelAndView login(ModelAndView mav) throws Except ...
- springMVC中ajax和后台数据格式错误
前台ajax: $.ajax("${pageContext.request.contextPath}/hello",// 发送请求的URL字符串. { dataType : &qu ...
- SpringMVC中JSP取不到ModelAndView,ModelMap的数据原因
最近maven了一个web项目 无论我用ModelAndView还是ModelMap,在视图层不管是用 ${msg} 还是用JSTL的<c:out value="${msg}" ...
- SpringMVC中JSP取不到ModelAndView的数据原因
自己搭的项目突然EL表达式取不到值了 不管是用 ${msg} 还是用JSTL的<c:out value="${msg}"/> 都不行 才发现犯了一个平时不会注意的错误 ...
- springmvc 中controller与jsp传值
参考:springmvc 中controller与jsp传值 springMVC:将controller中数据传递到jsp页面 jsp中,死活拿不到controller中的变量. 花了半天,网上列出各 ...
- struts2中jsp前台传值到后台action的方法(转)
在Struts2中jsp前台传值到action后台的方法 分类: java2012-02-28 13:58 2171人阅读 评论(1) 收藏 举报 actionstrutsjspgetterstrin ...
- SpringMVC中,前台jsp封装参数,绑定参数,传递参数到后台controller的过程详解
前台到后台的流程:前台jsp->后台:controller控制器层->service业务层->DAO数据访问层->数据库model模型层. 从上面流程可知,前台jsp的数据,想 ...
- SpringMVC中控制器接收JSP页面表单的参数接收方式详解及细节注意(400错误)
控制器方法中参数的接收 (1)以前的参数接收: String param = req.getParameter(name): (2)SpringMVC简化这个操作,只需要给控制器方法添加参数即可 a ...
- SpringMVC中数据转换
SpringMVC中接收到的数据都是String形式,然后再根据反射机制将String转换成对应的类型.如果此时想接收一个Date类型,那么我们可以定义一个转换器来完成. 例如,我们有下面的Emp类: ...
随机推荐
- 关于Hack术语方面
1.肉鸡 所谓“肉鸡”是一种很形象的比喻,比喻那些可以随意被我们控制的电脑,对方可以是WINDOWS系统,也可以是UNIX/LINUX系统,可以是普通的个人电脑,也可以是大型的服务器,我们 ...
- kubernetes二进制高可用部署实战
环境: 192.168.30.20 VIP(虚拟) 192.168.30.21 master1 192.168.30.22 master2 192.168.30.23 node1 192.168.30 ...
- 【iOS】App Transport Security
iOS9中新增App Transport Security(简称ATS)特性, 主要使到原来请求的时候用到的HTTP,都转向TLS1.2协议进行传输.这也意味着所有的HTTP协议都强制使用了HTTPS ...
- Android Studio 制作简单的App欢迎页面——基于Android 6.0
在许多的Android App中,我们点击进入时,都可以看到一个欢迎页面,大概持续了几秒,然后跳转至主页面.以下是我开发过程中总结出的一些方法和例子. 一.创建一个新的Activity 首先,新建了一 ...
- window下不用安装虚拟机,也可以玩转linux,玩转最新redis
想要了解redis的最新特性,可是windows下的可以安装的版本最高为3.2,想要验证redis的诸如stream特性的话,就无能为力了. 解决方法之一在windows上安装虚拟机,然后再虚拟机上安 ...
- JDK的命令行工具系列 (二) javap、jinfo、jmap
javap: 反编译工具, 可用来查看java编译器生成的字节码 参数摘要: -help 帮助 -l 输出行和变量的表 -public 只输出public方法和域 -protected 只输出publ ...
- spring boot 学习笔记(一)之前端文件配置
一.叙述 spring boot 由于是内置的tomcat ,因此其在独立运行的时候,是不需要单独安装 tomcat,这使其前端文件(CSS.JS.html)等放置的位置与war中的不同. 二.常见配 ...
- Pyenv虚拟环境的创建(虚拟机)
创建pyenv虚拟环境 sudo yum install openssl* 安装其所需要的库文件 git clone https://github.com/yyuu/pyenv.git ~/.pyen ...
- 你了解HTTPS,但你可能不了解X.509
世上根本就没有HTTPS协议,只有HTTP协议.——知乎某答友 某天,收到领导指示:学习一下X.509相关原理. 很多开发者可能和我一样觉得X.509这个词很陌生,但其实我们经常和它打交道,属于典型的 ...
- Java编程基础阶段笔记 day 07 面向对象编程(上)
面向对象编程 笔记Notes 面向对象三条学习主线 面向过程 VS 面向对象 类和对象 创建对象例子 面向对象的内存分析 类的属性:成员变量 成员变量 VS 局部变量 类的方法 方法的重载 可变个 ...