让我解释一下我在做什么第一:如何在Struts2的验证失败返回自定义响应
我正在写一个API,它返回JSON成功或失败,并有返回的JSON内status
变量,它可以让最终用户知道它是success
还是failure
。
现在,如果一个API预计提交一些参数,那么,如果该参数是双&提交的值是一个字符串,那么我必须与status
假,在errorlist
返回错误消息,JSON。
默认情况下,中间的拦截器无法将String
设置为Number
返回Action.INPUT
而不执行操作方法。
我试着用@SkipValidation
注释该方法,但方法代码仍然不执行,它直接从拦截器(我猜)返回INPUT。
我已经在默认情况下将状态定义为true
然后在action方法中,根据条件,如果需要,我将它设置为false,但是由于此时操作从未执行,返回的JSON响应具有状态为true并且errorlist
为空(因为操作未执行,用于向列表中添加错误)。
请帮忙。
操作代码:
@SkipValidation
public String saveFund() {
//some code which is never executed when Double variable is a string
return SUCCESS;
}
拦截器堆栈使用:
<interceptors>
<interceptor name="nlogin" class="interceptors.AdminInterceptor"/>
<interceptor-stack name="loginStack">
<interceptor-ref name="nlogin"/>
<!--<interceptor-ref name="store">-->
<!--<param name="operationMode">AUTOMATIC</param>-->
<!--</interceptor-ref>-->
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="loginStack"/>
至少发布一些代码。 –
@RomanC添加了正在使用的动作和拦截器堆栈。 –