【问题标题】:struts2 jquery ajax return data from server, how?struts2 jquery ajax 从服务器返回数据,如何?
【发布时间】:2013-04-06 16:57:14
【问题描述】:

我想从 action 方法中返回一行。我的 JSP 在下面

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
  <head>
    <sj:head/>
  </head>
  <body>
    <div id="div1">Div 1</div>
    <s:url id="ajaxTest" value="/test.action"/>

    <sj:a id="link1" href="%{ajaxTest}" targets="div1">
      Update Content
    </sj:a>
  </body>
</html>

动作:

@Action(value="test")
    public String jquery() throws IOException
    {
       System.out.println("hello");
        return SUCCESS;
    }

目前,我将输出视为成功,我认为这是由于返回 SUCCESS。我需要的是弹出一些从测试操作发送的自定义文本。我怎样才能做到这一点?

【问题讨论】:

  • 我认为您的操作方法需要映射到 jsp/template/view,您还需要指定一个对象/模型,您的视图将从中呈现。
  • 我可以通过 getter 和 setter 来完成吗,我会尝试回发邮件

标签: java struts2 struts struts2-jquery actionresult


【解决方案1】:

传统上要从动作中返回一些东西,你需要将结果注释放在动作或方法上

@Result(location = "/pages/success.jsp") 

在结果中,您编写将插入目标中的标记。您可能需要提供 http 标头以在页面未重新加载时关闭缓存控制。

处理响应,您需要执行ServletResponseAware

【讨论】:

  • k.所以我将我的操作更改为 @Action(value="test", results = { @Result(location="/jquery.jsp") }) public String jquery() throws IOException { System.out.println("hello") ;返回成功;现在结果 jquery.jsp 在代码上方,因此它添加了一个额外链接。请参阅我曾经在 servlet 中编写一些文本以响应并从 jquery ajax 调用该 servlet。但是如何在 struts2 中做同样的事情,我可以在操作方法中编写一些文本并在客户端获取吗?如果是这样,如何使用 struts2-jquery 插件来做到这一点。感谢您的支持
  • 您可以在操作中写入响应输出,但您需要返回 NONE 结果。
  • K 完成了,你的老板 :) 最后想是我想在弹出窗口中获取该文本,我的 jsp 编写方式(从谷歌复制)我看不到任何 wat 得到响应文本,文本被设置为一个 div,我想要在弹出窗口中相同,非常感谢。
猜你喜欢
  • 2011-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-24
  • 2019-07-21
相关资源
最近更新 更多