1

当我构建一个模块/组件时,我需要将什么传递给 ActionResult 以便在 Ajax 调用中接收正确的 HTTPServletRequest?

例如(在我的 jsp 中):

var location = '${currentNode.path}.sqlPaging.do';
  $.post(location, function(data) {
    temp=data;
    alert(data.info);
    $('#result').html(data);
 });

更多信息(这是我的班级):

@Override
public ActionResult doExecute(HttpServletRequest req, RenderContext renderContext, Resource resource,
            JCRSessionWrapper session, Map<String, List<String>> parameters, URLResolver urlResolver)
            throws Exception {


            JSONObject json = new JSONObject();

            json.put("info",3.14);

            ActionResult result = new ActionResult(HttpServletResponse.SC_OK, null, json);
            result.setJson(json);

            return result;

    }

使用的包:javax.servlet.http org.jahia.bin.ActionResult org.json.JSONObject

4

2 回答 2

1

这就是问题所在。我需要在 Ajax 调用中包含 JSON(引号),并且需要调用“data.info”。

var location = '${currentNode.path}.sqlPaging.do';
  $.post(location, function(data) {
    temp=data;
    alert(data.info);
    $('#result').html(data);
},"json");

谢谢 qlamerand

于 2013-08-26T15:14:26.190 回答
1

另一个处理 ajax 调用的解决方案是注册你自己的 spring mvc 控制器。Jahia Web 应用程序预装了 spring core、spring beans、spring aop 和你可能需要的一切。

您需要在 application-context.xml 文件中进行一些配置。

您甚至可以使用注释 ex.@Controller 并成为老板,而不是在 xml 文件中注册 jahia 控制器。

http://fruzenshtein.com/spring-mvc-ajax-jquery/

干杯!

于 2014-01-08T10:14:29.647 回答