2014-10-19 129 views
0

我有處理表單提交的Spring MVC控制器。我想要做的是讓表單提交時控制器返回一個XML到瀏覽器。但thymeleaf模板解析器輸出一個錯誤,指出它無法解析模板「結果」在Spring MVC控制器中返回XML

我有資源>模板爲result.xml。

controller.java如下

@Controller 
public class WebController { 

    @RequestMapping(value="/simcheck", method=RequestMethod.GET) 
    public String greetingForm(Model model) { 
     model.addAttribute("SimilarityForm", new SimilarityForm()); 
     return "SimilarityForm"; 
    } 

    @RequestMapping(value="/simcheck", method=RequestMethod.POST) 
    public String greetingSubmit(@ModelAttribute SimilarityForm formData, Model model) throws IOException { 

     Similarity s = new Similarity();   
     Scores scores = s.calculateSim(formData.getQuery(), formData.getReference()); 

     formData.setQuery("Percentage :" + scores.getLsaScore().toString()); 

     model.addAttribute("SimilarityForm", formData); 

     return "result"; 
    } 

} 

但是,如果我我爲result.xml重命名爲result.html它工作得很好,它完全返回一個HTML模板。

因此,沒有春天真正支持XML返回?

+0

您使用的是Spring Boot嗎?搜索的擴展名基於模板配置,我認爲Boot只是註冊了'.html'。 – chrylis 2014-10-19 04:22:00

+0

是的,我是。我只是繼續從初學者教程之一開發(處理表單提交)。除此之外,如果我使用@restcontroller,我可以返回JSON字符串,所以它似乎開機支持不僅僅是HTML – kype 2014-10-19 04:26:19

回答

2

當然,Spring支持XML。

如果要爲所有控制器方法返回XML或JSON,則必須使用@ResponseBody(或@RestController),並從控制器方法返回JAXB註釋的對象。

+0

是的,我結束了使用RestController。謝謝 – kype 2014-10-19 11:26:23

+0

啊,我以爲@kype想要一些自定義XML的方法。內置的Spring REST支持絕對是更好的選擇。 – chrylis 2014-10-19 13:40:57

相關問題