Java 如果侦听器中的身份验证失败,则Struts2返回json
请注意,我不是Java开发人员,所以我的问题可能有一些令人心碎的假设&无效的代码 我有一个拦截器,负责登录验证Java 如果侦听器中的身份验证失败,则Struts2返回json,java,json,jsp,struts2,Java,Json,Jsp,Struts2,请注意,我不是Java开发人员,所以我的问题可能有一些令人心碎的假设&无效的代码 我有一个拦截器,负责登录验证 <global-results> <result name="login">/admin/login.jsp</result> </global-results> /admin/login.jsp 如图所示,当身份验证失败时,它会重定向到login.jsp,即返回值为“login”(在本例中) 我想要实现的是,我返回一些其他值
<global-results>
<result name="login">/admin/login.jsp</result>
</global-results>
/admin/login.jsp
如图所示,当身份验证失败时,它会重定向到login.jsp,即返回值为“login”(在本例中)
我想要实现的是,我返回一些其他值(比如“loginAjax”),它不应该发送HTTP302,而是应该返回JSON响应
我不知道这是否可能。我在struts.xml中还有另一部分,当从操作返回特定值时,它返回json
<result name="success" type="json">
<param name="includeProperties">
return_id, return_message
</param>
</result>
返回\u id,返回\u消息
我不知道应该如何将这两个部分连接在一起,并使其在同一个拦截器上工作。全局结果不与一个或多个拦截器或操作绑定:它对每个人都是全局的,因此在返回时将呈现它,无论是谁返回它 您需要添加一个json类型的全局(与其他登录结果保持一致,即全局)结果,如下所示:
/admin/login.jsp
然后,您可以发送特定的状态码或错误码
如果您需要了解应该从拦截器中返回什么样的结果,那么应该按照描述的方式进行,检查成功后将返回的结果的类型
S:哦,考虑雇佣一个java开发人员来正确地做java的事情:
谢谢你的帮助。我会试试你的解决办法。还有你的建议:P