Java 操作错误未显示
如果Java 操作错误未显示,java,javascript,jquery,jsp,struts2,Java,Javascript,Jquery,Jsp,Struts2,如果Action类返回错误,我想在ErrorDiv中加载Error.jsp。我正在做一个AJAX调用 JS: success: function(result){ if(result === 'success') alert('Database Updated Successfully!'); else{ $('#ErrorDiv').load('/gma/pages/Error.jsp'); } }
Action
类返回错误,我想在ErrorDiv
中加载Error.jsp
。我正在做一个AJAX调用
JS:
success: function(result){
if(result === 'success')
alert('Database Updated Successfully!');
else{
$('#ErrorDiv').load('/gma/pages/Error.jsp');
}
}
<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>
Error.jsp
:
success: function(result){
if(result === 'success')
alert('Database Updated Successfully!');
else{
$('#ErrorDiv').load('/gma/pages/Error.jsp');
}
}
<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>
但是,不会显示操作错误。在我选中的firebug中,响应GET
Error.jsp
,因为
部分为空
为什么没有显示actionError
编辑:
success: function(result){
if(result === 'success')
alert('Database Updated Successfully!');
else{
$('#ErrorDiv').load('/gma/pages/Error.jsp');
}
}
<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>
动作类:
try{
slsConfigureTspThresholdRemote.setThresholdParameters(circleId, tspId, thresholdTypeFlag, thresholdParametersList);
}
catch (Exception e){
addActionError(e.getMessage());
e.printStackTrace();
result = "error";
return ERROR;
}
struts.xml:
success: function(result){
if(result === 'success')
alert('Database Updated Successfully!');
else{
$('#ErrorDiv').load('/gma/pages/Error.jsp');
}
}
<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>
验证错误仅适用于同一请求。此外,对JSP的直接访问可能由web容器处理,而Struts标记将不起作用 如果希望保留前一个请求中的验证错误,则应使用操作呈现JSP,并且该操作应运行 如果要使用相同的响应返回不同的结果,可以为每个结果设置不同的状态代码 在客户机上,您可以检查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);
你能添加你的动作部分和struts.xml动作吗?@VinothKrishnan:Have addedIt不是一个验证错误。我更新了我的问题并发布了ACtion类。请参见.If而不是response.setStatus(201);我用201,它会是一样的吗??我使用的是struts2 JSON pluginNo,它将不一样。有什么区别?类型不同。