首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从AJAX调用流到Action类,然后流到一个jsp页面,该页面在struts2中将html作为响应返回给AJAX

从AJAX调用流到Action类,然后流到一个jsp页面,该页面在struts2中将html作为响应返回给AJAX
EN

Stack Overflow用户
提问于 2012-11-21 18:31:36
回答 3查看 3.1K关注 0票数 0

我对struts.This非常陌生,这也是我想要达到的目标。

使用JSP1编写的JavaScript函数触发一个AJAX,AJAX使用Action类从数据库中获取数据,JSP2使用Action类中的数据,并使用struts标签形成特定的元素,并将这些数据输出到JavaScript函数,该函数将HTML数据添加到JSP1中。

现在,我使用JSP-2的原因是使用struts标记生成HTML数据。JSP-2的作用类似于为JSP-1形成HTML数据的函数,这些数据永远不会被显示。我知道动作类将JSON对象返回给ajax的正常流程,但是我不知道如何处理中间的JSP-2页面。

这是我的jsp to action和action to ajax flow的struts.xml。

代码语言:javascript
复制
<action name="ajaxAction" class="ActionClass">
            <result name="success" type="json"/>
 </action>

这里我的问题是如何从action类转到JSP-2,然后响应AJAX?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-21 19:17:23

因此使用dispatcher结果类型而不是json

代码语言:javascript
复制
<action name="ajaxAction" class="ActionClass">
   <result name="success">JSP-2</result>
</action>
票数 0
EN

Stack Overflow用户

发布于 2012-11-21 19:19:02

如果您使用的是jquery,您可以这样做

代码语言:javascript
复制
$(document).ready(function(){
    var url ="MyAjaxAction.action";
    $("#sectionWhereJSP2WillbeThere").load(url);  
 });

在你的struts action类中,只需使用普通的success (例如,将其视为普通的action)

票数 1
EN

Stack Overflow用户

发布于 2012-11-21 23:14:13

不需要考虑JSP-1。它只是Ajax应用程序的交付机制。问题是您发出的Ajax请求需要什么样的响应。您的Javascript Ajax客户端需要JSON响应还是HTML片段?

如果它需要json,那么我认为没有必要使用JSP-2 (尽管您可以使用jsp创建json --但是当struts提供json结果类型来为您做这件事时,就没有理由这么做了)。

如果需要HTML片段,最好的创建方法是使用JSP,假设是jsp-2。如果是这种情况,您需要将结果类型更改为"dispatcher",这实际上是默认类型,即您不需要指定它。

代码语言:javascript
复制
<action name="ajaxAction" class="ActionClass">
            <result name="success">/path/to/jsp-2</result>
 </action>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13491287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档