springmvc向后端传值_在j2ee中,使用servlet过滤器时

springmvc向后端传值_在j2ee中,使用servlet过滤器时如题,这个是以前做的笔记,现在搬到博客上……packagecom.ruide.action;​importjava.util.HashMap;importjava.util.Ma

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

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";
    }
}

 


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170844.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Windows 手动 修改host文件「建议收藏」

    Windows 手动 修改host文件「建议收藏」在C:\Windows\System32\drivers\etc\目录下有一个hosts文件,复制出来,修改后再粘贴回去(注意:一定要复制出来再修改,否则无法正常保存)

    2022年10月12日
    0
  • Python学习笔记一(基础知识)

    Python学习笔记一(基础知识)1.Python 的特点: 1.1. 语法简介,实现同样的功能,代码行数少; 1.2. 作为解释型语言,性能与C/C++有差距,甚至比不上java,发布代码必须发布源码,而C等编译类语言,只需要把编译后的机器码发布即可; 1.3. 可实现网站或游戏后台,网络爬虫工具等,YouTube、豆瓣、Google、Yahoo等都在使用Python; 1.4. 丰富的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容; 1.5. Python有两个版本,一个是2.x版

    2022年6月17日
    28
  • 梯度下降法与随机梯度下降法[通俗易懂]

    梯度下降法与随机梯度下降法[通俗易懂]梯度下降法与随机梯度下降法

    2022年9月10日
    0
  • OCP-1Z0-051-名称解析-文章12称号

    OCP-1Z0-051-名称解析-文章12称号

    2022年1月12日
    51
  • datax(16):源码解读AbstractReporter

    datax(16):源码解读AbstractReporter之前介绍了通信类communication,容器类container,communication的收集类collector,今天再看一个报告类Reporter;一、概述AbstractReporter主要作用:Reporter的主要功能是将收集到的信息上报给上级主要方法:reportTGCommunication(汇报TG的communication信息给上级),reportJobCommunication(汇报job的communication信息给上级)二、族谱族谱里面目前只有父子.

    2022年5月16日
    41
  • 罗马时钟代码

    罗马时钟代码先看看效果图第一部分HTML页面代码<!DOCTYPEhtml><htmllang=”en”> <head> <metacharset=”UTF-8″> <metaname=”viewport”content=”width=device-width,initial-scale=1.0″> <met…

    2022年6月28日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号