gpt4 book ai didi

java - 未显示 ActionError

转载 作者:行者123 更新时间:2023-11-29 08:54:46 32 4
gpt4 key购买 nike

我想加载我的 Error.jsp在我的 ErrorDiv如果Action类返回错误。我正在进行 AJAX 调用。

JS:

success: function(result){    
if(result === 'success')
alert('Database Updated Successfully!');
else{
$('#ErrorDiv').load('/gma/pages/Error.jsp');
}
}


Error.jsp :

<body>

<%
request.setAttribute("decorator", "none");
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>
<s:if test="hasActionErrors()">
<s:actionerror />
</s:if>

</body>

但是,不会显示操作错误。在我检查过的 Firebug 中,对GET的回应Error.jsp在那<body> </body>部分变空了。

为什么是actionError没有显示?

编辑:

Action 类:

try{
slsConfigureTspThresholdRemote.setThresholdParameters(circleId, tspId, thresholdTypeFlag, thresholdParametersList);

}
catch (Exception e){
addActionError(e.getMessage());
e.printStackTrace();

result = "error";
return ERROR;
}

struts.xml:

<action name="updateThresholdParameters"
class="cdot.oss.cmsat.gma.struts.ConfigureTspThresholdAction" method="updateThresholdParameters">

<result name="success" type="json">
<param name="root">result</param>
</result>

<result name="error">pages/Error.jsp</result>

目前,我正在做 $('#ErrorDiv').html(result);这样我的 JSP 就可以加载到 div 中了而不是

$('#ErrorDiv').load('/gma/pages/Error.jsp');!

最佳答案

验证错误仅适用于同一请求。此外,对 JSP 的直接访问可能由 Struts 标记不起作用的 Web 容器处理。

您应该使用一个 Action 来呈现 JSP,并且该 Action 应该运行 store interceptor如果您想保留上一个请求的验证错误。

如果您想使用相同的响应返回不同的结果,您可以为每个结果设置不同的状态代码。

在客户端你可以查看Ajax响应返回的状态码并做相应的事情。

success: function(data, textStatus, jqXHR){
if(jqXHR.status == 200) {
alert('Database Updated Successfully!');
}
}
error: function(data, textStatus, jqXHR){
if(jqXHR.status == 400) {
$('#ErrorDiv').html(data);
}
}

要在 JSP 中显示错误,请将以下内容添加到 scriptlet 代码中

response.setStatus(400);

关于java - 未显示 ActionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20856712/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com