`

spring MVC- @JSONField(name="text")注解

阅读更多

    @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详解

    《Spring MVC之@RequestMapping详解》 在Java Web开发中,Spring MVC框架因其强大的功能和灵活性而备受青睐。在处理HTTP请求时,@RequestMapping注解扮演着至关重要的角色,它负责将客户端的请求映射到控制器中的...

    spring—mvc -json

    此外,Spring MVC还支持使用`@RequestBody`注解接收JSON数据,以及使用`@ModelAttribute`与表单数据绑定。在实际开发中,还可以利用Spring Data REST自动创建RESTful服务,或者使用`@JsonInclude`和`@JsonView`等...

    Spring MVC – Easy REST-Based JSON Services with @ResponseBody

    标题中的“Spring MVC – Easy REST-Based JSON Services with @ResponseBody”是指使用Spring MVC框架构建基于REST的JSON服务,并通过使用`@ResponseBody`注解来简化这一过程。REST(Representational State ...

    Spring MVC--8.JSON、国际化、文件上传

    在Spring MVC中,我们可以使用`@ResponseBody`注解将控制器方法的返回值直接转换为JSON格式,并通过HTTP响应发送给客户端。同样,`@RequestBody`注解可以用来将请求体中的JSON数据绑定到方法参数上。Spring MVC提供...

    Spring MVC--2.入门程序

    现在,你可以开始编写控制器类,比如`HelloController.java`,使用`@Controller`注解标识该类为Spring MVC的控制器: ```java import org.springframework.stereotype.Controller; import org.springframework.ui....

    Spring2.5MVC--基于注解的附件上传

    这篇博客"Spring2.5 MVC -- 基于注解的附件上传"详细介绍了如何在Spring MVC 2.5中实现这一功能。 首先,我们需要了解Spring MVC中处理文件上传的基本概念。文件上传主要涉及到两个组件:`MultipartResolver`和`@...

    spring_MVC源码

    弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...

    spring mvc(整合了json)

    2. **配置 Spring MVC**:在 Spring MVC 的配置文件中,我们需要添加 `Jackson` 的转换器,使得 Spring MVC 能够解析和生成 JSON 数据。例如,在使用 XML 配置时,可以添加以下配置: ```xml &lt;bean class="org....

    spring-mvc-showcase.zip

    在`@RequestMapping`方法中,可以使用`return "viewName"`来指定视图,Spring MVC会根据配置的视图解析器来生成实际的视图页面。 五、视图解析器(View Resolver) 在Spring配置中,通常会定义一个或多个视图解析器...

    Spring MVC--3.请求参数

    Spring MVC还可以通过`@ModelAttribute`注解将请求参数绑定到模型属性,这在处理表单提交时非常有用。模型属性可以从请求参数、路径变量甚至其他模型属性中获取值。 6. **处理异常** 当请求参数不符合预期(如...

    Spring MVC--4.处理模型数据

    总结来说,Spring MVC提供了一系列工具和机制来处理模型数据,包括ModelAndView对象、模型Map、模型注解、模型绑定、数据传递以及视图解析。通过这些方式,开发者可以高效地实现Web应用的数据处理和视图展示。理解并...

    Spring MVC 之@ModelAttribute使用.rar

    这个注解的使用涉及到MVC模式中的Model层和View层的交互,是理解Spring MVC工作原理的重要一环。下面将详细阐述`@ModelAttribute`的用法、作用以及它在实际开发中的应用场景。 `@ModelAttribute`主要应用于两个场景...

    Spring MVC--6.封装参数获得与传递

    本篇将深入探讨Spring MVC中如何封装参数,以及如何在不同组件之间传递。 首先,Spring MVC通过`@RequestParam`注解来获取HTTP请求中的参数。例如,如果我们有一个POST请求,其中包含一个名为`username`的参数,...

    Spring MVC框架实例

    **Spring MVC 框架实例详解** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的 Model-View-Controller (MVC) 模型的实现。在基于 Spring 2.5 的项目中,XML 配置是主要的配置方式,相比...

    @TypeDiscriminator注解实现多态对象的查询,jackson @JsonTypeInfo注解实现controller多态支持

    `@TypeDiscriminator` 和 `@JsonTypeInfo` 这两个注解分别来自Spring和Jackson库,它们用于解决序列化和反序列化过程中多态对象的处理问题。 首先,`@TypeDiscriminator` 是Spring Data JPA提供的一种注解,用于在...

    springMvc定时器执行两次

    标题“springMvc定时器执行两次”涉及到的是Spring MVC与Quartz定时任务的集成问题,其中可能存在配置或逻辑上的错误导致定时任务被触发了两次。在Spring MVC应用中,Quartz是一个常用的库,用于实现定时任务的调度...

    spring MVC配置详解

    Spring MVC 配置详解 Spring MVC 是一个基于 DispatcherServlet 的 MVC 框架,它是当前主流的 Web 框架之一。要想灵活运用 Spring MVC 来应对大多数的 Web 开发,就必须要掌握它的配置及原理。 一、Spring MVC ...

    SpringMVC-SSH全注解

    &lt;property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /&gt; &lt;property name="prefix" value="/jsp/" /&gt; &lt;property name="suffix" value=".jsp" /&gt; &lt;!-- 配置jdbc --&gt; ...

    Spring MVC--7.REST风格 CRUD

    6. **JSON序列化和反序列化**:Spring MVC默认使用Jackson库处理JSON数据的序列化和反序列化。`@RequestBody`用于将请求体转换为Java对象,`@ResponseBody`用于将Java对象转换为HTTP响应体。 7. **错误处理**:为了...

Global site tag (gtag.js) - Google Analytics