@JSONField(name="text"): 该注解在将对象转换为json时,将原属性转换为替换属性
例子:
实体类:
package com.ledong.admin.entity; import com.alibaba.fastjson.annotation.JSONField; public class Menu extends BaseEntity { private static final long serialVersionUID = 1460969283327142230L; private String id; //id @JSONField(name="text") private String name; // 菜单名称 private String description; // 描述 private Integer orderIndex; // 排序 private String fatherId; // 父级ID private String code; private String url; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Integer getOrderIndex() { return orderIndex; } public void setOrderIndex(Integer orderIndex) { this.orderIndex = orderIndex; } public String getFatherId() { return fatherId; } public void setFatherId(String fatherId) { this.fatherId = fatherId; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } }
测试方法:
package com.ledong.admin.action.admin; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.ledong.admin.common.BaseAction; import com.ledong.admin.entity.Menu; import com.ledong.admin.service.MenuService; public class MenuAction extends BaseAction { private static final long serialVersionUID = 1L; private Menu menu; @Resource private MenuService menuService; /** * 返回有权限的菜单 */ public void backMenuPower(){ List<Menu> menuList = new ArrayList<Menu>(); Menu menu = new Menu(); Menu menu2 = new Menu(); Menu menu3 = new Menu(); Menu menu4 = new Menu(); Menu menu5 = new Menu(); menu.setId("g20160420135310591334309"); menu.setName("系统管理"); menu.setUrl("#"); menu2.setId("g20160420140331784426085"); menu2.setName("管理员管理"); menu2.setUrl("/admin/admin!list.action"); menu3.setId("g20160420140949214088915"); menu3.setName("角色管理"); menu3.setUrl("/admin/role!list.action"); menu4.setId("g20160420141142803906341"); menu4.setName("资源管理"); menu4.setUrl("/admin/resource!list.action"); menu5.setId("g20160420141233450099439"); menu5.setName("查看日志"); menu5.setUrl("/admin/log!list.action"); menuList.add(menu); menuList.add(menu2); menuList.add(menu3); menuList.add(menu4); menuList.add(menu5); writeJson(menuList); } }
结果:
没转输出:
[ { "id": "g20160420135310591334309", "name": "系统管理", "url": "#" }, { "id": "g20160420140331784426085", "name": "管理员管理", "url": "/admin/admin!list.action" }, { "id": "g20160420140949214088915", "name": "角色管理", "url": "/admin/role!list.action" }, { "id": "g20160420141142803906341", "name": "资源管理", "url": "/admin/resource!list.action" }, { "id": "g20160420141233450099439", "name": "查看日志", "url": "/admin/log!list.action" } ]
转换后输出:
[ { "id": "g20160420135310591334309", "text": "系统管理", "url": "#" }, { "id": "g20160420140331784426085", "text": "管理员管理", "url": "/admin/admin!list.action" }, { "id": "g20160420140949214088915", "text": "角色管理", "url": "/admin/role!list.action" }, { "id": "g20160420141142803906341", "text": "资源管理", "url": "/admin/resource!list.action" }, { "id": "g20160420141233450099439", "text": "查看日志", "url": "/admin/log!list.action" } ]
相关推荐
《Spring MVC之@RequestMapping详解》 在Java Web开发中,Spring MVC框架因其强大的功能和灵活性而备受青睐。在处理HTTP请求时,@RequestMapping注解扮演着至关重要的角色,它负责将客户端的请求映射到控制器中的...
此外,Spring MVC还支持使用`@RequestBody`注解接收JSON数据,以及使用`@ModelAttribute`与表单数据绑定。在实际开发中,还可以利用Spring Data REST自动创建RESTful服务,或者使用`@JsonInclude`和`@JsonView`等...
标题中的“Spring MVC – Easy REST-Based JSON Services with @ResponseBody”是指使用Spring MVC框架构建基于REST的JSON服务,并通过使用`@ResponseBody`注解来简化这一过程。REST(Representational State ...
在Spring MVC中,我们可以使用`@ResponseBody`注解将控制器方法的返回值直接转换为JSON格式,并通过HTTP响应发送给客户端。同样,`@RequestBody`注解可以用来将请求体中的JSON数据绑定到方法参数上。Spring MVC提供...
现在,你可以开始编写控制器类,比如`HelloController.java`,使用`@Controller`注解标识该类为Spring MVC的控制器: ```java import org.springframework.stereotype.Controller; import org.springframework.ui....
这篇博客"Spring2.5 MVC -- 基于注解的附件上传"详细介绍了如何在Spring MVC 2.5中实现这一功能。 首先,我们需要了解Spring MVC中处理文件上传的基本概念。文件上传主要涉及到两个组件:`MultipartResolver`和`@...
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...
2. **配置 Spring MVC**:在 Spring MVC 的配置文件中,我们需要添加 `Jackson` 的转换器,使得 Spring MVC 能够解析和生成 JSON 数据。例如,在使用 XML 配置时,可以添加以下配置: ```xml <bean class="org....
在`@RequestMapping`方法中,可以使用`return "viewName"`来指定视图,Spring MVC会根据配置的视图解析器来生成实际的视图页面。 五、视图解析器(View Resolver) 在Spring配置中,通常会定义一个或多个视图解析器...
Spring MVC还可以通过`@ModelAttribute`注解将请求参数绑定到模型属性,这在处理表单提交时非常有用。模型属性可以从请求参数、路径变量甚至其他模型属性中获取值。 6. **处理异常** 当请求参数不符合预期(如...
总结来说,Spring MVC提供了一系列工具和机制来处理模型数据,包括ModelAndView对象、模型Map、模型注解、模型绑定、数据传递以及视图解析。通过这些方式,开发者可以高效地实现Web应用的数据处理和视图展示。理解并...
这个注解的使用涉及到MVC模式中的Model层和View层的交互,是理解Spring MVC工作原理的重要一环。下面将详细阐述`@ModelAttribute`的用法、作用以及它在实际开发中的应用场景。 `@ModelAttribute`主要应用于两个场景...
本篇将深入探讨Spring MVC中如何封装参数,以及如何在不同组件之间传递。 首先,Spring MVC通过`@RequestParam`注解来获取HTTP请求中的参数。例如,如果我们有一个POST请求,其中包含一个名为`username`的参数,...
**Spring MVC 框架实例详解** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的 Model-View-Controller (MVC) 模型的实现。在基于 Spring 2.5 的项目中,XML 配置是主要的配置方式,相比...
`@TypeDiscriminator` 和 `@JsonTypeInfo` 这两个注解分别来自Spring和Jackson库,它们用于解决序列化和反序列化过程中多态对象的处理问题。 首先,`@TypeDiscriminator` 是Spring Data JPA提供的一种注解,用于在...
标题“springMvc定时器执行两次”涉及到的是Spring MVC与Quartz定时任务的集成问题,其中可能存在配置或逻辑上的错误导致定时任务被触发了两次。在Spring MVC应用中,Quartz是一个常用的库,用于实现定时任务的调度...
Spring MVC 配置详解 Spring MVC 是一个基于 DispatcherServlet 的 MVC 框架,它是当前主流的 Web 框架之一。要想灵活运用 Spring MVC 来应对大多数的 Web 开发,就必须要掌握它的配置及原理。 一、Spring MVC ...
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/jsp/" /> <property name="suffix" value=".jsp" /> <!-- 配置jdbc --> ...
6. **JSON序列化和反序列化**:Spring MVC默认使用Jackson库处理JSON数据的序列化和反序列化。`@RequestBody`用于将请求体转换为Java对象,`@ResponseBody`用于将Java对象转换为HTTP响应体。 7. **错误处理**:为了...