2016-04-21 93 views
0

我已经一些问题,这个简单的服务器端方法(爪哇/休眠):AJAX响应是从Java不同/休眠返回的字符串

@RequestMapping(value="/Prova" , method=RequestMethod.POST) 
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) 
public ResponseEntity<String> Prova(
     HttpServletRequest request, HttpServletResponse response 
     ) throws Exception 
{ 

    log.error("Sono qui"); 
    return new ResponseEntity<String>("pippotopolinopaperino",HttpStatus.OK); 

} 

如果客户端不AJAX请求(I使用ExtJs的)的回应是:

pippotopolinopa0015↵ 

为什么?

诗对不起我的英文不好

PPS我也试过用:

@RequestMapping(value="/Prova" , method=RequestMethod.POST) 
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) 
public @ResponseBody String Prova(
     HttpServletRequest request, HttpServletResponse response 
     ) throws Exception 
{ 

    log.error("Sono qui"); 
    return "pippotopolinopaperino"; 

} 
+0

你想渲染一个模板?或者只是想要字符串作为回应? –

+0

我只想要字符串! 这种方法是相当古老,它工作得很好......直到现在! –

+0

您是否尝试在您的注释中添加“produce =”text/plain“@RequestMapping? – VirtualTroll

回答

0

我已经解决了这种方式:

@RequestMapping(value="/Prova" , method=RequestMethod.POST) 
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) 
public @ResponseBody List<String> Prova(
    HttpServletRequest request, HttpServletResponse response 
    ) throws Exception 
{  
    log.error("Sono qui"); 
    List<String> ret = new ArrayList<String>(); 
    ret.add("pippoPlutoTopolino"); 
    return ret;   
} 

或者也:

@RequestMapping(value="/Prova2" , method=RequestMethod.POST) 
@ResponseBody public StringBuffer Prova2(
     HttpServletRequest request 
     ) throws Exception 
{ 
    return new StringBuffer("pippoPlutoTopolino"); 
} 

但我不明白为什么不起作用返回一个简单的字符串。