struts2 + jquery插件+ tiles插件:如何更改远程div?

时间:2012-08-01 19:34:13

标签: jquery json struts2 tiles struts2-jquery

我正在尝试学习如何使用远程分区,所以我一直在检查struts2-jquery-plugin的展示,我并不了解事情是如何工作的。这是他们下载的内容:

struts.xml:

<struts>
    // some other instructions and constants
    <include file="showcase.xml" />
</struts>

showcase.xml :(应该是空的??)

<struts>
    <package name="showcase" extends="struts-default,json-default" namespace="/">
    </package>
</struts>

RemoteDiv.java:

package com.jgeppert.struts2.jquery.showcase;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;

import com.opensymphony.xwork2.ActionSupport;

@ParentPackage(value = "showcase")
public class RemoteDiv extends ActionSupport {

  private static final long serialVersionUID = -6793556760537290969L;

  @Action(value = "/remote-div", results = {
    @Result(location = "remote-div.jsp", name = "success")
  })
  public String execute() throws Exception
  {
    return SUCCESS;
  }
}

所以我的问题是:

1)注释@Action是强制性的还是替换我们应该在struts.xml中声明的动作?

2)什么是 / remote-div ?我们应该在struts.xml中提到的动作的名称?

3)在我的情况下,我正在使用 tile ,我应该使用location =“mypage.tiles”,我的意思是在tiles.xml中为页面指定的名称?

4) @ParentPackage(value =“showcase”)怎么样,我们应该在没有整个路径的情况下提到父包的名称吗?

5)在这种情况下,我需要 json插件

如果我的问题很愚蠢,我会事先提前通知。但要理解我们,我还是初学者。提前致谢!

1 个答案:

答案 0 :(得分:0)

  1. 这是动作映射注释。必须通过注释,按照XML配置,按照约定(即约定或REST插件)以某种方式映射操作。
  2. 这是行动的名称。不要通过注释来定义操作 XML-pick one。
  3. 是的,您需要定义结果类型,或使用tiles作为默认结果类型。
  4. 这是S2包的名称,即配置文件中的<package>
  5. 如果您需要JSON结果。
  6. 关于你的问题“如果包装声明是空的” - 只要你想要它是空的。它定义了一个包,以及与包有关的各种事物(如拦截器堆栈,结果类型,结果,URL的第一部分等)。