ActionError未显示
如果Action类返回错误,我想在Error.jsp
中加载我的Error.jsp
。 我正在进行AJAX调用。
JS:
success: function(result){ if(result === 'success') alert('Database Updated Successfully!'); else{ $('#ErrorDiv').load('/gma/pages/Error.jsp'); } }
JSP:
但是,不会显示操作错误。 在firebug中,我检查了对GET Error.jsp的响应,其中
部分为空。
为什么没有显示actionError
?
编辑:
行动类 :
try{ slsConfigureTspThresholdRemote.setThresholdParameters(circleId, tspId, thresholdTypeFlag, thresholdParametersList); } catch (Exception e){ addActionError(e.getMessage()); e.printStackTrace(); result = "error"; return ERROR; }
struts.xml中:
result pages/Error.jsp
目前,我正在做$('#ErrorDiv').html(result);
这样我的JSP就可以在div
加载而不是
$('#ErrorDiv').load('/gma/pages/Error.jsp');!
validation错误仅适用于同一请求。 此外,对struts标记不起作用的Web容器也可以直接访问JSP。 如果要保留先前请求的validation错误,则应使用操作来呈现JSP,并且操作应运行消息存储拦截器 。 如果要使用相同的响应返回不同的结果,可以为每个结果设置不同的状态代码。 在客户端上,您可以检查Ajax响应返回的状态代码并执行相应的操作。
success: function(data, textStatus, jqXHR){ if(jqXHR.status == 201) { $('#ErrorDiv').html(data); } else { alert('Database Updated Successfully!'); } }
在JSP中,将以下内容添加到scriptlet代码中
response.setStatus(201);