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)
上一篇 2022年8月16日 下午7:46
下一篇 2022年8月16日 下午7:46


相关推荐

  • jQuery页面顶部下拉广告

    本广告可以是图片也可以是Flash,可以设置自动播放的时间,可以手动停止和重播。效果展示 http://hovertree.com/texiao/jquery/80/源码下载:http://

    2021年12月27日
    42
  • 2025年主流大模型全景对比:Grok、Claude、ChatGPT与Gemini的战场

    2025年主流大模型全景对比:Grok、Claude、ChatGPT与Gemini的战场

    2026年3月15日
    2
  • 三极管工作原理详解

    三极管工作原理详解参考文章 1 三极管工作原理详解 2 图说三极管的三个工作状态 3 图解三极管基本知识及电子电路图半导体三极管 又称为双极结型晶体管 bipolarjunct BJT 广义上 三极管有多种 常见如下图所示 狭义上 三极管指双极型三极管 是最基础最通用的三极管 本文所述的是狭义三极管 它有很多别称 三极管的发明晶体三极管出现之前是真空电子三极管

    2026年3月26日
    2
  • 【转录调控网络】典型的基因转录调控网络推导方法——布尔网络

    【转录调控网络】典型的基因转录调控网络推导方法——布尔网络基因转录调控网络推导方法 布尔网络基因网络是由细胞中参与基因调控作用的 DNA RNA 蛋白质以及代谢中间物所形成的相互作用的网络 基因网络是从分子层次上对生物系统进行研究的 其研究目标是通过基因之间的相互作用从系统的角度全面说明基因组的功能和行为以揭示复杂的生命现象 基因网络有助于从基因组层次对生命过程进行详细的解释 从而达到系统地解释细胞活动 生命活动 解释疾病的发生 发展和治疗等目标 基因网络是基因组学研究的重要内容 也是当前生物学研究的前沿 因此在研究生物体的生长 发育以及疾病等过程方面受

    2026年3月16日
    2
  • C++宏和枚举

    宏我们的计算器程序,用1234对应加减乘除,对于人阅读很产生一点障碍。隔一个月后再看此代码可能想不起是0123还是1234了,还得去代码中查找,如果能为代表四则运算的四个数取个有意义的别名就好了,一

    2021年12月24日
    53
  • angsrom linux opkg update 失败 解决方案[通俗易懂]

    angsrom linux opkg update 失败 解决方案[通俗易懂]在这篇文章的指导下解决了,Opkgupdate失败的问题,问题出在开发板的网络DNS配置,开发板可以访问局域网的,但是不能访问互联网,另外angstromlinux软件源feeds地址改变了不在是原来的所有需要更改/etc/opkg/*下的conf文件。这样就可以执行opkgupdate命令来安装软件了How-toupdateopkgpackagefeeds

    2022年5月12日
    105

发表回复

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

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