Maison  >  Article  >  interface Web  >  Trois façons pour SpringMVC de renvoyer les compétences json data_javascript

Trois façons pour SpringMVC de renvoyer les compétences json data_javascript

WBOY
WBOYoriginal
2016-05-16 15:26:251795parcourir

Spring MVC est un produit de suivi de SpringFrameWork et a été intégré à Spring Web Flow. Le framework Spring fournit des modules MVC complets pour créer des applications Web. Grâce à l'architecture MVC enfichable de Spring, lorsque vous utilisez Spring pour le développement WEB, vous pouvez choisir d'utiliser le framework SpringMVC de Spring ou d'intégrer d'autres frameworks de développement MVC, tels que Struts1, Struts2, etc.

1. La première méthode est un produit de l'ère spring2, c'est-à-dire que chaque contrôleur de vue json est configuré avec un Jsoniew.

Par exemple : cf48d914a6e61bace0b746a13cd1a882

ou295f6586d4dd3c16c76b3755ccad3bc9

Vous devez également utiliser le package jar de Jackson.

2. Le deuxième type utilise les outils JSON pour sérialiser les objets en json. Les outils courants incluent Jackson, fastjson et gson.

Utilisez HttpServletResponse, puis récupérez Response.getOutputStream() ou Response.getWriter()

Sortie directement.

Exemple :

public class JsonUtil 
{ 
  private static Gson gson=new Gson(); 
 
  /** 
   * @MethodName : toJson 
   * @Description : 将对象转为JSON串,此方法能够满足大部分需求 
   * @param src 
   *      :将要被转化的对象 
   * @return :转化后的JSON串 
   */ 
  public static String toJson(Object src) { 
    if (src == null) { 
      return gson.toJson(JsonNull.INSTANCE); 
    } 
    return gson.toJson(src); 
  } 
} 

3. La troisième façon d'utiliser l'annotation spring mvc3 @ResponseBody

Par exemple :

@ResponseBody 
 @RequestMapping("/list") 
 public List<String> list(ModelMap modelMap) { 
  String hql = "select c from Clothing c "; 
  Page<Clothing> page = new Page<Clothing>(); 
  page.setPageSize(6); 
  page = clothingServiceImpl.queryForPageByHql(page, hql); 
   
  return page.getResult(); 
 }

Ensuite, utilisez la configuration par défaut de spring mvc pour renvoyer json, mais vous avez besoin du package jackson jar.

Remarque : lorsque 463d7d566f84e66ad507872587b9c14c est utilisé dans springMVC-servlet.xml, si AnnotationMethodHandlerAdapter a été injecté par défaut avant la version 3.1 et que RequestMappingHandlerAdapter a été injecté par défaut après la version 3.1, ajoutez simplement le package jar. mentionné ci-dessus Oui!

Si vous injectez manuellement RequestMappingHandlerAdapter, vous pouvez le définir comme ceci

La configuration est la suivante :

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" 
    p:ignoreDefaultModelOnRedirect="true" > 
      <property name="messageConverters"> 
        <list> 
          <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/> 
        </list> 
      </property> 
    </bean> 

Ajouter un package

jackson-mapper-asl-*.jar
jackson-core-asl-*.jar

On voit que les méthodes d'utilisation deviennent de plus en plus simples, et les programmeurs deviennent de plus en plus stupides. Je ne sais pas si c'est une bonne ou une mauvaise chose...

Le contenu ci-dessus présente les trois façons dont SpringMVC renvoie les données json partagées par l'éditeur. J'espère qu'il vous plaira.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn