标签: struts2-config-browser

如果结果类型是json,则Struts2动作被调用两次

我有一个Action类,有4个动作方法.所有四种动作操作方法都使用json结果.

通过记录语句和调试,我已经验证了如果我调用action方法1,也会调用action方法2和3.但不是4.最后,再次调用action方法1并生成json结果

如果我将Action方法1的结果类型更改为具有jsp位置的默认调度程序,则仅调用操作方法1.(这是我想要的json结果的行为)希望这是有道理的.

有人有主意吗?这个问题在这里被问到/sf/ask/263738891/

但没有答案.如果您需要更多信息,请与我们联系.

@ResultPath("/WEB-INF/jsp/dta/")
public class GroupEntityAction extends BaseAction {
    /**
     * 
     */
    private static final long serialVersionUID = 6750675222824235086L;
    private static Logger log = Logger.getLogger(GroupEntityAction.class);

    private List<EntityBusiness> theUnusedEntityBusinessList;
    private String assignedEntities[];
    private long groupId;
    private long businessId;
    private String parentMe;
    private long rptYear;
    private String ssoId;
    private String isSubmitted;

    private String delimGoLiveEmails;
    private List<String> theEmailList;

    @Action(value = "ajaxGetAvailableEntityList",
            results = { @Result(name = "success", type = "json") }
            ,
            interceptorRefs = { @InterceptorRef("dtaStack"),
                    @InterceptorRef(value = "dtaStack", …
Run Code Online (Sandbox Code Playgroud)

json struts2 struts2-config-browser

8
推荐指数
1
解决办法
4853
查看次数

获取Struts2中已配置操作的列表

在使用Struts2(2.3.20)的项目中,我想在应用程序启动时运行配置的操作(名称,类,命名空间,方法).

我正在使用

  • Struts 2.3.20
  • 支柱 - 弹簧 - 插件
  • Struts的惯例,插件

供参考:我已经完成了一些关于bean和Struts注入的工作,所以不是很全新,但是我坚持解决这里所说的问题.

关于如何获得这个的任何指示将不胜感激.

进一步说明

阅读Andrea在下面的回答我看到我需要解释我需要什么.

我正在为应用程序构建应用程序菜单构建器功能.我的计划是获取操作配置,并根据选定操作类和方法的注释中的信息构建"菜单节点"树.

我在config-browser中的代码问题是,Configuration(xwork)似乎在Struts组件之外不可用.由于这是一个应用程序启动任务,它并不真正适合Struts的MVC组件模型.我想把菜单构建初始化放在一个ServletContextListener.

假的例子

每个请求只是连接actionconfig < - > annotation < - > my_custom_menu.从这里我可以生成一个菜单结构,从动作类和方法的注释提供.

public class ActionMenuBuilderListener implements ServletContextListener {
  @Override
  public void contextInitialized(ServletContextEvent arg0) {
    List<ActionCfg> actions = Struts.getConfiguredActions(); // thisi is where I'd like some help
    for(ActionCfg action : actions) {
      MenuAnnotation annotation = getAnnotationFromMethodOrClass(action);
      if(annotation != null) {
        addMenuItem(action, annotation);
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

下面ActionCfg是Struts为操作配置返回的任何类,Struts.getConfiguredActions()是对Struts组件的一次或多次调用,addMenu(...)也是我向我的结构添加菜单项节点的地方.该结构后来成为JSP-s构建菜单的目标. …

java spring struts2 struts-action struts2-config-browser

4
推荐指数
1
解决办法
1169
查看次数