Struts2操作无法使用结果类型json和dispatcher

时间:2014-07-17 07:03:26

标签: java ajax json jsp struts2

我有一个结果类型为json的Struts2操作。该操作从Ajax调用,并在客户端接收响应(ArrayList)。这工作正常。 现在,我需要将操作重定向到某个错误页面,以防出现任何登录错误。因此,我尝试包含一个结果类型,以便可以调用JSP页面。但是,它不起作用。请帮忙。

我在Struts.xml中的操作

<action name="stocktransferorder" class="com.app.action.StockTransferOrderAction"
            method="createSTO">
            <result name="jsonStockTransferOrderSuccess" type="json" />
            <result name="error" type="dispatcher">/jsp/loginError.jsp</result>
        </action>

我的Java代码

String s = (String) session.getAttribute("SAPUSERID");
if (s != null && s.length() > 0) {
        // My code goes here
        return "jsonStockTransferOrderSuccess";

else
        {
            return "error";
        }
}

在控制台中获取以下内容并且屏幕上没有任何内容

11:38:49,573 DEBUG ServletDispatcherResult:72 - Forwarding to location /jsp/loginError.jsp
11:38:49,573 DEBUG InstantiatingNullHandler:72 - Entering nullPropertyValue [target=[com.app.action.StockTransferOrderAction@19ae493, com.opensymphony.xwork2.DefaultTextProvider@1dedb45], property=struts]
11:38:49,574 DEBUG InstantiatingNullHandler:72 - Entering nullPropertyValue [target=[com.app.action.StockTransferOrderAction@19ae493, com.opensymphony.xwork2.DefaultTextProvider@1dedb45], property=org]
11:38:49,607 DEBUG InstantiatingNullHandler:72 - Entering nullPropertyValue [target=[com.app.action.StockTransferOrderAction@19ae493, com.opensymphony.xwork2.DefaultTextProvider@1dedb45], property=locale]

1 个答案:

答案 0 :(得分:0)

而不是结果type =“dispatcher”尝试type =“redirect”,因为你只想重定向到loginerror页面