首页> Java> java教程> 正文

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

PHPz
发布: 2023-05-15 19:22:04
转载
1106 人浏览过

ssm的controller向页面传递参数

使用Map 来传递参数

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

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

@RequestMapping("/edit_form") public String editApplicationFormPage(Map 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实体的一个对象。

 ${operation eq 'add'?'添加':(operation eq 'edit'?'编辑':'查看')}应用系统
登录后复制

使用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 –不适用于Get请求

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

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

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

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

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

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

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

使用方法:

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

以上是java ssm框架的controller怎么实现向页面传递参数的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!