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

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. git取消链接并删除本地库

    有的时候我们需要删除从GitHub上克隆下来的库 从github上clone一个仓库: git clone git@github.com:USERNAME/repo.git 在本地目录下关联远程rep ...

  2. 手写C语言字符库

    鉴于以前碰到过很多这样的题目,甚至上次月考核也考了,马上就要考试了,就再重新写一遍,加深印象,但是肯定和库函数有区别,丢失许多细节 1.strlen函数(求字符串长度) int strlen(char ...

  3. 那些年,想和你一起认识的SpringCloud Eureka

    前几天鲁班LB跟我说:你玩把游戏都要半个钟啦,为何不用这时间来看看书,如果涨工资还可以帮我买个皮肤. 面对如此合理的这需求,但我不以为然,事实上并不是我不想学习,而是 ↓ 实力不允许呀~ 直到有一天, ...

  4. internet连接共享被启用时 出现了一个错误 (null)

    服务Firewall和Internet Sharing Service都已启动还是出现此问题 注意到点选允许共享时的提示:当前已为wireless_95364开启...... 随便选一个别的适配器,开 ...

  5. ES 23 - 检索和过滤的区别 (query vs. filter)

    目录 1 filter与query示例 1.1 准备测试数据 1.2 搜索测试 2 filter与query的区别 2.1 相关度处理上的不同 2.2 性能上的对比 2.3 对比结论 本文以 ES 6 ...

  6. 【iOS】获取应用程序本地路径

    Xcode 会为每一个应用程序生成一个私有目录,并随机生成一个数字和字母串作为目录名,在每一次应用程序启动时,这个字母数字串都是不同于上一次. 所以通常使用 Documents 目录进行数据持久化的保 ...

  7. 显示Mac隐藏文件的命令:

    设置查看隐藏文件的方法如下:打开终端,输入命名 显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏 ...

  8. CMD开放3389端口

    REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t R ...

  9. go interface衍生的插件化处理

    在设计程序的许多应用场景中我们会遇到大体分为三个阶段的任务流. 第一.入口 一个或多个入口,等待阻塞的.或者主动请求方式的. ============================== 比如任务流需 ...

  10. Unity进阶之:Shader渲染

    版权声明: 本文原创发布于博客园"优梦创客"的博客空间(网址:http://www.cnblogs.com/raymondking123/)以及微信公众号"优梦创客&qu ...