1

我正在使用新的 Controller 命令。我只想知道如何在我的控制器命令中同时使用转发和重定向视图来重定向到在我的 struts-config-ext.xml 中配置的视图?

4

1 回答 1

1

你可以尝试这样的事情:

重定向:

public void performExecute() throws ECException {
        //do something here...
        //....................
        TypedProperty rspProp = new TypedProperty();
        rspProp.put(ECConstants.EC_URL, "YourViewName");
        rspProp.put(ECConstants.EC_VIEWTASKNAME, ECConstants.EC_GENERIC_REDIRECTVIEW);
        //....................
        //....................
    }

向前:

public void performExecute() throws ECException {
        //do something here...
        //....................
        TypedProperty rspProp = new TypedProperty();
        rspProp.put(ECConstants.EC_VIEWTASKNAME, "YourViewName");       
        //....................
        //....................
    }

转发和重定向都可以在你的控制器命令中使用,将控制从你的命令传递到在你的 strut-config-ext.xml 中配置的视图。如果使用 forward,命令和视图都在单个事务中运行,如果视图中出现任何异常,命令中保存的所有数据都将回滚。但是,如果您在命令中使用重定向视图,则命令和视图在两个事务中运行,这与转发不同。命令完成后,它会提交一个新事务以供查看。在这种情况下,您视图中的异常可能不会回滚您的命令中提交的数据。

于 2013-03-19T13:12:55.160 回答