0

我正在尝试学习如何使用远程分区,所以我一直在检查 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) 就我而言,我使用的是tiles,我应该使用 location = "mypage.tiles" 吗,我的意思是在 tiles.xml 中给页面的名称?

4) @ParentPackage(value = "showcase")呢,我们应该只提及父包的名称而不提及整个路径吗?

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

如果我的问题很愚蠢,我会提前道歉。但请理解我,伙计们,我还是个初学者。提前非常感谢!

4

1 回答 1

0
  1. 这是动作映射注释。必须通过注释、XML 配置、约定(即约定或 REST 插件)以某种方式映射操作。
  2. 这是动作的名称。不要通过注释XML 定义操作——选择一个。
  3. 是的,您需要定义结果类型,或使用图块作为默认结果类型。
  4. 这是 S2 包的名称,即<package>配置文件中的 。
  5. 如果您想要 JSON 结果。

关于您的问题“包声明是否应该为空”——仅当您希望它为空时。它定义了一个包,以及与包相关的各种内容(如拦截器堆栈、结果类型、结果、URL 的第一部分等)

于 2012-08-01T19:49:28.753 回答