温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-05-05 10:32:10 来源:亿速云 阅读:272 作者:iii 栏目:开发技术

本篇内容主要讲解“java ssm框架的controller怎么实现向页面传递参数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java ssm框架的controller怎么实现向页面传递参数”吧!

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)

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

通过@PathVariable

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

通过@RequestBody &ndash;不适用于Get请求

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

  • 1.@RequestBody 接收的是一个请求体, @RequestBody只能存在一个,接收的是所有的请求参数--一次接收完

  • 2.如果传对象或者数组必须先转为Json格式\或者是纯字符串

  • 3.@RequestBody 不适合用于Get请求

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

  • @DateTimeFormat使用场景:页面直接传递日期格式时,直接用该注解接收;

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

使用方法:

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

到此,相信大家对“java ssm框架的controller怎么实现向页面传递参数”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI