我对于春季启动非常新,目前我陷入困境。在春季启动时从另一个控制器调用控制器
我有2种控制器方法
IndexController.java
@RequestMapping(value="/openxml", params = "btnTransform", method = RequestMethod.POST)
public String transformXml(HttpServletRequest request, Model model) {
try {
String fileContent = request.getParameter("code1").replaceAll("&", "&");
String fileName = request.getParameter("fileName");
InputStream is1 = IOUtils.toInputStream(fileContent,StandardCharsets.UTF_8);
InputStream is2 = IOUtils.toInputStream(fileContent,StandardCharsets.UTF_8);
String htmlString=xmlOperation.simpleTransform(is1, fileName);
if (htmlString.equals("")){
model.addAttribute("message", "Please validate your XML!!");
}
model.addAttribute("htmlString",StringEscapeUtils.escapeHtml4(htmlString));
model.addAttribute("fileContent", fileContent);
model.addAttribute("fileName",fileName);
} catch (Exception e) {
logger.error(e.getMessage());
System.out.println(e.getMessage());
}
return "greeting";
}
@RequestMapping(value="/updatexpath", method=RequestMethod.POST, produces = "application/json")
@ResponseBody
public String updateXPath(@RequestParam("xml") String xml, @RequestParam("xPath") String xPath, @RequestParam("editedText") String editedText){
xml=xml.replaceAll("&", "&");
InputStream is = IOUtils.toInputStream(xml, StandardCharsets.UTF_8);
String editedXml=xmlOperation.updatePara(is, xPath, editedText);
editedXml=editedXml.replaceAll("&", "&");
return editedXml;
}
我在做什么这里是调用从阿贾克斯updateXPath方法,并得到editedXml和更新文本区域。之后,我想调用transformXml方法(没有任何按钮单击)。可能吗?如果是的话,怎么样?如果没有,任何工作?
任何帮助将不胜感激...
你需要把XML在textarea的?因为如果你在响应后立即转到另一个控制器,你也可以在你的控制器中使用重定向到'transformXml'并在里面给出'editedXml'。 – Patrick
是@Patrick,我确实需要在textarea中使用xml –