springmvc 怎样返回json异常
1.第一种情况
html文件
<form id="myForm" name="myForm" method="post" enctype="multipart/form-data" action="save.do">
java文件
@RequestMapping(value = "/save", method = { RequestMethod.POST })
public Map<String, ? extends Object> saveUserInfo(HttpServletRequest request, HttpServletResponse response) throws Exception {
if(true)
throw new Exception ("抛出Exception !");
}
这样的话通过jquery.form.js提交后,会取到异常内容“抛出Exception !”;
2.第二种情况
html文件
<form id="myForm" name="myForm" method="post" action="save.do">
java文件
@RequestMapping(value = "/save", method = { RequestMethod.POST })
public Map<String, ? extends Object> saveUserInfo(HttpServletRequest request, HttpServletResponse response) throws Exception {
if(true)
throw new Exception ("抛出Exception !");
}
这样的话通过jquery.form.js提交后,去到的是错误处理文件(errorshow)的html代码。
spring配置文件:
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.Simple
MappingExceptionResolver">
<property name="defaultErrorView">
<value>errorshow</value>
</property>
<property name="exceptionMappings">
<props>
<prop key="
java.lang.Exception">errorshow</prop>
</props>
</property>
</bean>
怎样配置能不加 enctype="multipart/form-data" 达到第一种情况的效果?
------解决方案--------------------帮顶。。。。
------解决方案-------------------- enctype="multipart/form-data" 加这句话和不加没多大的问题。 唯一的就是加了这句传参是以2进制传过去。在后台如果用request取值就会报错。 不加的话就和普通的一样。
------解决方案--------------------不太懂,如果想取到异常信息的话,你把异常信息作为数据传到前台就行了!
------解决方案--------------------1. 不要把一场往上抛了,直接在Action中捕捉一场,然后将一场信息返回给Ajax,页面获取内容就可以了,
2. form表单默认的enctype就是:multipart/form-data,不知道你想实现一个什么样的功能。
------解决方案--------------------就是我说的,在Action中捕获异常,如:
Java code
try{
......
}catch(Exception e){
out.print("系统出现异常。。。。。")
}
------解决方案--------------------
把可能出现异常的部分try catch
在e.print.. 这的信息用jsonobject封装,完了返回json串