java ssm框架的controller实现向页面传递参数

目录
  • ssm的controller向页面传递参数
    • 使用Map<String, Object> 来传递参数
    • 使用PrintWriter来传递参数
  • ssm框架获取页面传递的参数
    • 通过@RequestParam
    • 通过@PathVariable
    • 通过@RequestBody –不适用于Get请求
    • 接收日期类型: @DateTimeFormat\@JsonFormat

ssm的controller向页面传递参数

使用Map<String, Object> 来传递参数

在控制器的方法中添加一个Map类型参数A。给参数A的put方法put了键值对B,键值对B在页面中就可以获取到了

1.java 后台代码的编写,put了operation和application键值对

@RequestMapping("/edit_form")
    public String editApplicationFormPage(Map<String, Object> map,
            HttpServletRequest request, String applicationId) {
        map.put("operation", "edit");
        Application application = applicationService
                .getApplicationById(applicationId);
        if(application.getSysBigIcon()==null||application.getSysBigIcon().equals("")){
            application.setSysBigIcon("/www/images/default.png");
        }
        if(application.getSysIcon()==null||application.getSysIcon().equals("")){
            application.setSysIcon("/www/images/default.png");
        }
        if (application != null) {
            map.put("application", application);
        }
        return "/frame/system/application/application_form";
    }

2.页面使用后台传递过来的键值对

使用的方法是键值对要用${}包裹起来。 比如:${operation}和${application.orgId},${operation}是引用后台map put的operation键值对,${application.orgId}是引用后台map put的application实体的一个对象。

<script type="text/javascript">
    window.WWWROOT = "${ctx}";
    window.DefaultOrgId  = "<%=user.getDefaultOrgId()%>";
    window.Operation = "${operation}";
    window.OrgId = "${application.orgId}";
    window.TaskAppId = "${application.taskAppId}";
    window.MenuType = "${application.menuType}";
</script>
            <title>${operation eq 'add'?'添加':(operation eq
                'edit'?'编辑':'查看')}应用系统</title>

使用PrintWriter来传递参数

给PrintWriter写一些内容。就把这些内容返回到页面了。

1.后台台代码的编写

在控制器的方法中添加一个PrintWrite类型参数writer,使用writer.write()方法写入内容。页面就可以返回这内容了。代码如下:

@RequestMapping("/add")
    public void  add(HttpServletRequest request, HttpServletResponse response,MenuRight menuRight, PrintWriter writer)
             {
        try{
            Boolean result =menuRightService.addMenuRight(menuRight);
            writer.write("{\"success\":true}");
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    writer.write("{\"success\":false}");
                }
 
    }

2.页面的代码编写

  • success : function(result)中的result就是后台返回的writer.write()中的内容
$.ajax({
        type : 'POST',
        url : WWWROOT + "/menuRight/add",
        data : dat,
        success : function(result) {
            if ($.parseJSON(result).success == true) {
                $(stId).attr("checked", true);
            } else {
                alert("添加授权失败");
                $(stId).attr("checked", false);
            }
        }
    });

ssm框架获取页面传递的参数

通过@RequestParam

接收名字为age的参数,且可以为空

@RequestParam(value = "age",required = false)

通过@PathVariable

通过@RequestBody –不适用于Get请求

  • 1.@RequestBody 接收的是一个请求体, @RequestBody只能存在一个,接收的是所有的请求参数--一次接收完
  • 2.如果传对象或者数组必须先转为Json格式\或者是纯字符串
  • 3.@RequestBody 不适合用于Get请求

接收日期类型: @DateTimeFormat\@JsonFormat

  • @DateTimeFormat使用场景:页面直接传递日期格式时,直接用该注解接收;
  • @JsonFormat使用场景:页面传递Json格式的日期格式时,使用该注解接收;  特别注意:使用不同的Json包该注解名可能不同

使用方法:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解如何解决SSM框架前台传参数到后台乱码的问题

    最近在做一个SSM框架的项目,总是遇到一个问题,就是后台接收前端传递的中文参数的时候,参数是乱码的,导致sql语句经常无法执行,但是有很奇怪,在测试环境和生产环境都是正常的,就是本地开发环境总是这么坑人,那如何解决呢? 1.比较累人,就是能不传中文就不传中文参数,对于这点,大家就笑笑而过就行了.... 2.还是挺累人,真的得传中文,那就将中文强制转码了,如下: "中文".getBytes("UTF-8"); 3.第二点我还没尝试就找到这第三点了,至于第二点,有兴趣的

  • 关于SSM框架下各层的解释说明(Controller等)

    目录 SSM框架 各层解释说明 entity层(model层) dao层(mapper层) service层 Controller层(web层) SSM框架 SSM框架是spring MVC ,Spring和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层(web),controller层,service层,dao层四层,使用spring MVC负责请求的转发和视图管理. Spring实现业务对象管理,Mybatis作为数据对象的持久化引擎. 表现层(web):通俗讲就是展现

  • ssm框架controller层返回json格式数据到页面的实现

    通常前端页面发送ajax请求,我们只需要返回json格式数据就行 1.在pom.xml加入依赖 <properties> <jackson.version>2.5.4</jackson.version> </properties> <dependencies> <!-- controller返回json --> <dependency> <groupId>com.fasterxml.jackson.core&l

  • java ssm框架的controller实现向页面传递参数

    目录 ssm的controller向页面传递参数 使用Map<String, Object> 来传递参数 使用PrintWriter来传递参数 ssm框架获取页面传递的参数 通过@RequestParam 通过@PathVariable 通过@RequestBody –不适用于Get请求 接收日期类型: @DateTimeFormat\@JsonFormat ssm的controller向页面传递参数 使用Map<String, Object> 来传递参数 在控制器的方法中添加一个

  • Java SSM框架讲解

    目录 介绍SSM框架<原理> 一.什么是SSM框架? SSM框架是spring.spring MVC .和mybatis框架的整合,是标准的MVC模式.标准的SSM框架有四层,分别是dao层(mapper),service层,controller层和View层.使用spring实现业务对象管理,使用spring MVC负责请求的转发和视图管理,mybatis作为数据对象的持久化引擎. 1)持久层:dao层(mapper)层 作用:主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在

  • 基于Java SSM框架实现简易的评教系统

    目录 介绍 效果图 部分核心代码 介绍 项目编号:BS-GX-014 数据库:mysql 开发工具:IDEA / ECLIPSE 开发技术:SSM 框架 本系统基于SSM框架实现.主要包含三个角色,管理员,老师,学生.管理员主要管理学生,老师,课程.学生可以进行选课,选完课后可以对任课老师评价.老师可以查看自己的评价信息. 效果图 部分展示功能如下: 管理员角色: 学生角色: 老师角色: 部分核心代码 package one.controller; import java.util.List;

  • Java SSM框架(Spring+SpringMVC+MyBatis)搭建过程

    摘要: 这段时间搭建ssm环境,并测试几个下载的项目demo 安装相关文件: MyEclipse界面: 测试项目简单增删改: ssm+mysql+easyui项目: SSM+MYSQL+EXTJS项目 总结 以上所述是小编给大家介绍的Java SSM框架(Spring+SpringMVC+MyBatis)搭建过程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!

  • Java SSM框架如何配置静态资源加载

    Java SSM框架即指Spring+SpringMVC+MyBatis的简称,框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架. 相比于之前的SSH(Spring+Struts+Hibernate),SSM更加轻量化和灵活,是目前业界主流的Java Web开发框架. 第一种:SSM框架中在springmvc-servlet.xml中配置加载静态资源 只需要在springmvc-servlet.xml配

  • 基于Java SSM框架开发图书借阅系统源代码

    一.技术框架与开发环境 开发环境: IDE:IDEA 2020 数据库:MySQL 8.0 JDK 1.8 Maven 3.6.1 Tomcat 9 lombok 1.18.1 技术框架: 核心框架:Spring 5.1.9 持久层框架:Mybatis 3.5.2 视图层框架:SpringMVC 5.1.9 前端框架:Bootstrap 4 jquery-3.6.0 二.项目源码 有用就点赞博客 Github 国内:Giee 项目结构 三.功能介绍 1.登录 2.注册 AJAX异步刷新显示判断账

  • JS控制静态页面传递参数并获取参数应用

    在项目中遇到这也一个问题: 有a.html和b.html. 1.a页面已经打开,b页面尚未打开,我希望在a页面设置好一些列参数,比如背景色,宽度等参数,传递给b页面,好让b页面在打开就能应用. 2.a页面已经打开,b页面无论是否打开.在a页面需要获取到b页面的一些元素甚至变量,以便于应用到a页面. 注意:不涉及跨域问题. 想了很久,终于想到了解决方案. 第一个问题,我们可以利用html页面锚点的特性,将参数通过url传递给b页面 这是a页面代码: <button>跳转设置</button

  • java ssm框架实现分页功能的示例代码(oracle)

    java web 实现分页功能,分享给大家,具体如下: 使用框架:ssm 数据库:oracle 话说 oracle 的分页查询比 mysql 复杂多了,在这里简单谈一下: 查询 前十条数据: SELECT * FROM( SELECT ROWNUM WN,RN.* FROM ( SELECT id, title, create_time as createTime, musictor, musictitle FROM krry_blog ORDER BY create_time desc )RN

  • Java SSM框架如何添加写日志功能

    前提:要导入log4j的jar包 在web.xml中输入: <!--日志加载--> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param> <listener> <listener-class>o

  • ASP同一站点下gb2312和utf-8页面传递参数乱码的终极解决方法

    ①.页面文件使用正确的编码,gb2312使用ANSI,utf-8使用utf-8: ②.ASP代码中设置正确的CODEPAGE,gb2312使用936,utf-8使用65001: ③.HTML代码中设置正确的charset,gb2312使用gb2312,utf-8使用utf-8: ④.将传递的参数值使用js的escape函数进行编码: 示例代码 t1.asp(ANSI编码): 复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936&

随机推荐