在Spring MVC控制器中返回XML

时间:2014-10-19 04:19:29

标签: spring rest spring-mvc 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模板。

Spring是否真的支持XML返回?

1 个答案:

答案 0 :(得分:2)

当然,Spring支持XML。

如果要为所有控制器方法返回XML或JSON,则必须使用@ResponseBody(或@RestController)并从控制器方法返回带有JAXB注释的对象。