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


相关推荐

  • CentOS 7搭建SMB服务「建议收藏」

    第一步:安装samba服务》yuminstallsamba第二步:启动samba服务》systemctlstartsmb查看samba的状态》systemctlstatussmb看到Active就说明在运行中了第三步:关闭防火墙》systemctlstopfirewalld.service//停止服务》systemctldisablefirewalld.service//关…

    2022年4月13日
    270
  • 【激活成功教程】百资繁中输入法_V1.8.1

    【激活成功教程】百资繁中输入法_V1.8.1应用简介  百资繁体中文输入法提供中文手写输入,繁体注音输入、繁体速成输入、繁体仓颉输入及英文输入。  主要功能包括:  1.支援10万组繁体中文词汇,6万Prediction词组及最新流行用语;  2.支援注音模糊输入,让使用者只需输入第一个注音、Tune或部份就可以选择候选词汇;  3.支援注音整个句子输入;  4.支援注音联想功能;

    2022年7月16日
    26
  • 久违的黑客手册[通俗易懂]

    久违的黑客手册[通俗易懂]今天终于看到那件书店上摆上了《黑客手册》高兴的不得了抓起一本就跑去付帐排队的时候拿起封面看了看 晕3月份的了 55  。。。1,2月的没的买了 真不爽偏偏老板就不进1,2月的偏偏这里就这一间店有这书卖当我把钱递给老板的时候老板突然问我一句话让我苦笑不得他说看你每次都买这书你是黑客还是红客啊?……我只好开玩笑的说我红黑同杀^_^….

    2025年12月14日
    5
  • C# 操作XML文件 XmlDocument和XElement

    C# 操作XML文件 XmlDocument和XElement首先在根目录下新建一个config.xml:<?xmlversion=”1.0″encoding=”utf-8″?><Config><Debug><Lan><ServerIp=”142.12.10.123″Port=”9601″/></Lan&g…

    2022年6月19日
    47
  • python导入tensorflow方法_python导入包

    python导入tensorflow方法_python导入包若是你也遇到这个问题,说明你也没有理解tensorflow到底在哪里。当安装了anaconda3.6后,在PyCharm中设置interpreter,这个解释器决定了你在PyCharm环境中写的代码采用什么方式去执行。若是你的设置是anaconda下的python.exe。就会发现在PyCharm中写入importtensorflwoastf时,就会报错,提示没有tensorflow模块,…

    2022年8月27日
    7
  • python提示AttributeError: ‘NoneType’ object has no attribute ‘append’

    python提示AttributeError: ‘NoneType’ object has no attribute ‘append’在写python脚本时遇到AttributeError:’NoneType’objecthasnoattribute’append’a=[]b=[1,2,3,4]a=a.append(b)执行一次后发现a的类型变为了NoneType。下次执行时就会出现如题所示的错误。把a=a.append(b)改为a.append(b)后问题解决。原因:append

    2025年6月5日
    5

发表回复

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

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