Springmvc参数传递

    • http://www.blogbus.com/wanping-logs/235898657.html

      参数传递注意是和界面打交道

      前端js页面数据传递给后端controller的过程

      新建项目springMVC6

      新建一个controller—DataController.java

      package
      com.tgb.web.controller.annotation;

      import
      javax.servlet.http.HttpServletRequest;

      import
      org.springframework.stereotype.Controller;

      import
      org.springframework.web.bind.annotation.RequestMapping;

      import
      org.springframework.web.bind.annotation.RequestMethod;

      import
      org.springframework.web.servlet.ModelAndView;

      @Controller

      @RequestMapping("/user/data")

      public class
      DataController {

      @RequestMapping("/addUser")

      public
      String adduser(String userName,String age,HttpServletRequest
      request){

      request.setAttribute("userName",userName);

      request.setAttribute("age",age);

      return "/userManager";

      }

      @RequestMapping("/delUser")

      public
      String delUser(){

      String
      result = "this is delUser------";

      return "";

      }

      @RequestMapping("/toUser")

      public String
      toUser(){

      return
      "/addUser";

      }

      }

      根目录设置为/user/data:类前加@RequestMapping(“/user/data”)

      实现前端传递数据后,返回给界面

      新建一个view—addUser.js(get方式提交)

      主要是想把addUser的数据传到后台

      <h>添加用户</h>

      <form
      action=””>

      姓名:<input
      type=”text” name=”userName”>

      年龄:<input
      type=”text” name=”age”>

      <input
      type=”botton” value=”添加” onclick=”addUser()”>

      </form>

      Javascript实现addUser功能

      <script
      type=”text/javascript”>

      function
      addUser(){

      var
      form=document.forms[0];

      form.action=”/springMVC6/user/data/addUser”;

      form.method=”get”;

      form.submit();

      }

      </scrpit>

      【备注】

      这里可以不使用js,上面两部分可以直接用一个html代替即可:

      <h>添加用户</h>

      <form action="/springMVC6/user/data/addUser"
      method="get">

      姓名:<input type="text"
      name="userName"/>

      年龄:<input type="text"
      name="age"/>

      <input type="submit"
      value="添加">

      </form>

      现在看看如何去取这些表单

      把页面输入的数据显示到另一个页面

      Controller类修改

      第一种方法是,提供了参数解析方式。Name和参数名称匹配

      Name与标签的name相对应,这样就能获取到jsp传递过来的数据。

      package com.tgb.web.controller.annotation;

      import javax.servlet.http.HttpServletRequest;

      import org.springframework.stereotype.Controller;

      import
      org.springframework.web.bind.annotation.RequestMapping;

      import
      org.springframework.web.bind.annotation.RequestMethod;

      import org.springframework.web.servlet.ModelAndView;

      @Controller

      @RequestMapping("/user/data")

      public class DataController {

      @RequestMapping("/addUser")

      public String adduser(String userName,String
      age,HttpServletRequest request){

      request.setAttribute("userName", userName);

      request.setAttribute("age",age);

      return "/userManager";

      }

      @RequestMapping("/delUser")

      public String delUser(){

      String result = "this is delUser------";

      return "";

      }

      @RequestMapping("/toUser")

      public String toUser(){

      return "/addUser";

      }

      }

      其中userName与age与提交的userName、age相同

      新建另一个view作为提交页面—userManager.js

      DataController.java中addUser的view就定义了userManager,所以这里需要新建一个userManager.js,来显示表单提交的内容。

      把输入的数据返回到页面,

      新建一个页面:userManager.js页面

      <h1>用户管理</h1>

      姓名:======${userName }

      </br>

      年龄:======${age }

      修改addUserjs的数据提交方式,改为post提交

      addUser.js里面get方式改为Post方式提交

      post方法,乱码

      如何处理?

      Web.xml加入fileter过滤标签,这些可以在网上查找到

      <!--[if !supportLists]-->1. 
      <!--[endif]--><filter>

      <!--[if !supportLists]-->2. 
      <!--[endif]-->        <filter-name>encodingFilter</filter-name>

      <!--[if !supportLists]-->3. 
      <!--[endif]-->        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

      <!--[if !supportLists]-->4. 
      <!--[endif]-->        <init-param>

      <!--[if !supportLists]-->5. 
      <!--[endif]-->            <param-name>encoding</param-name>

      <!--[if !supportLists]-->6. 
      <!--[endif]-->            <param-value>UTF-8</param-value>

      <!--[if !supportLists]-->7. 
      <!--[endif]-->        </init-param>

      <!--[if !supportLists]-->8. 
      <!--[endif]-->        <init-param>

      <!--[if !supportLists]-->9. 
      <!--[endif]-->            <param-name>forceEncoding</param-name>

      <!--[if !supportLists]-->10.<!--[endif]-->            <param-value>true</param-value>

      <!--[if !supportLists]-->11.<!--[endif]-->        </init-param>

      <!--[if !supportLists]-->12.<!--[endif]-->    </filter>

      <!--[if !supportLists]-->13.<!--[endif]-->

      <!--[if !supportLists]-->14.<!--[endif]-->    <filter-mapping>

      <!--[if !supportLists]-->15.<!--[endif]-->        <filter-name>encodingFilter</filter-name>

      <!--[if !supportLists]-->16.<!--[endif]-->        <url-pattern>/*</url-pattern>

      <!--[if !supportLists]-->17.<!--[endif]-->    </filter-mapping>

      上面一段代码,加入web.xml中

时间: 2024-10-28 14:00:27

Springmvc参数传递的相关文章

使用SpringMVC参数传递时,解决get请求时中文乱码的问题

问题描述: 使用SpringMVC参数传递时, 遇到get请求中文信息时,页面应答会显示中文乱码. 解决办法: 一,  我们需要把request.getParameter(“参数名”)获取到的字符串先用ISO-8859-1编码成字节流,然后再将其用utf-8解码成字符流,代码如下: String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8"

SpringMvc参数传递中乱码问题

问题描述: 当传递中文参数到controller类时,无乱是get方式还是post方式都出现乱码 解决: 1.保证所有的页面编码都是utf-8,包括jsp页面,浏览器编码设置和eclipse的编码设置. 2.spingmvc给我们提高了一个编码过滤器,只需要在配置文件web.xml中加入即可.如下: 1 <filter> 2 <filter-name>characterEncoding</filter-name> 3 <filter-class>org.sp

springMvc参数传递的方法

package cn.edu.hj.controller; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; im

springmvc参数传递(一)

1.项目结构 2.UserController.java代码 package com.spring; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.spring

【springMVC】之参数传递

因为项目中要用到SpringMVC,这段时间便快马加鞭地学习了一下.所以这段时间呢会陆续更新关于springMVC的博客.由于项目那边也比较紧,月底之前要完成第一次迭代,所以可能有的时候博客更新并不是那么及时和连贯,敬请谅解. 今天,我们从SpringMVC最基础的传递参数开始讲起.其实看视频的过程就是一个了解的过程,但是真正要运用到实践中并成为自己的东西,这需要一个过程,而且这个过程很必要也很重要.在看视频学习的过程中,你会发现,虽然你跟着视频敲下来了,貌似很多东西也懂了,但是把全部东西收起来

springMVC学习笔记二

六.springmvc的注解 xml的配置→注解 1.新建一个配置文件还是在config下 新建springAnnotation-servlet.xml web.xml 修改初始化为<param-value>classpath*:config/springAnnotation-servlet.xml</param-value> springAnnotation-servlet.xml 加入一个扫描包.扫描包下的所有类 <context:component-scan base-

SpringMVC 多个对象的相同字段参数传递的最佳解决方案

SpringMVC 多个对象的相同字段参数传递解决方案,在SpringMVC中,有时需要传递多个对象(除了Model和web元素) 众所周知,在SpringMVC中不支持类似struts2的点语法传参法则,因此多个对象同名参数传递势必会造成一定的问题. SpringMVC的参数传递非常智能,可自动装配参数到对象 public class User{  private String name;  private String id;  private String gender,  private

SpringMVC笔记(八)SpringMVC中的参数传递

接收请求参数 一.使用HttpServletRequest @RequestMapping("/login") public String login(HttpServletRequest request){ String name = request.getParameter("name"); String pwd = request.getParameter("pwd"); return "success"; } 二.参数

springmvc入门基础之注解和参数传递

一.SpringMVC注解入门 1. 创建web项目2. 在springmvc的配置文件中指定注解驱动,配置扫描器 Xml代码   <!-- mvc的注解驱动 --> <mvc:annotation-driven /> <!--只要定义了扫描器,注解驱动就不需要,扫描器已经有了注解驱动的功能 --> <context:component-scan base-package="org.study1.mvc.controller" /> &l