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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RocketMQ的长轮询消费方式

    RocketMQ的长轮询消费方式1.Push推送方式(即Server端推送消息给client):当Server收到消息发送者发送过来的消息后,Server端主动把消息推送给client,这个方式实时性比较好,但是增加了Server的工作负担,对Server的性能造成影响;另外Client如果不能够及时处理Server推送的消息,也是很大的问题。2.Pull拉取方式(即Client从Server拉取消息):Client…

    2022年6月24日
    37
  • 案例:EVE和ENSP对接LLDP协议「建议收藏」

    案例:EVE和ENSP对接LLDP协议「建议收藏」1.EVE与ENSP使用cloud对接LLDP协议(拓扑)2.思科开启LLDP(EVE需使用2018年后的L2/L3IOU才支持LLDP功能)Switch(config)#lldprun//思科全局运行开启lldpSwitch(config)#inte0/1Switch(config-if)#lldptransmitSwitch(config-if)#lldpreceive//接口下开启lldp传送与接受华为开启LLDP[Huawei]lldpenableInfo:Glo

    2022年5月5日
    87
  • MinGW与Cygwin

    MinGW与Cygwin

    2021年8月31日
    59
  • Proteus仿真–51单片机最小系统

    Proteus仿真–51单片机最小系统1.单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。下面着重介绍时钟电路和复位电路。1)时钟电路单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。内部时钟方式的原理电路如图所示。在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值

    2022年6月23日
    28
  • 证书注册_农行提示证书未申请

    证书注册_农行提示证书未申请https证书是互联网传输中很重要的数字证书,为自己的网站申请https证书似乎成为了一件十分有必要的事情,https证书不仅仅可以很好地维护访问网站的用户信息安全,还能为网站树立一个安全可信的形象,维持一个网址的信誉。为https申请证书也变成了一件迫在眉睫的任务,但是如何进行https申请证书?https证书用处的原理是怎么样的?​如何进行https申请证书?这是很多刚接触互联网的网友会带有的疑问。但是我们需要先了解一下何为https证书。https证书是一种有http网络协议和ssl证书.

    2022年10月1日
    5
  • SAP WebIDE的本地安装方式「建议收藏」

    SAP WebIDE的本地安装方式「建议收藏」#CreatedbyJerryWang,lastmodifiedonJun02,20151.https://store.sap.com/下载安装文件:![clipboard1](https://user-images.githubusercontent.com/5669954/27470901-38a99006-57f6-11e7-8c0e-57f5cbf86e…

    2022年10月18日
    5

发表回复

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

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