在学习使用ssm框架捣鼓一个后台管理系统的过程中遇到了一个需求,就是在用户登陆成功后有一个用户信息修改模块,大概功能就是跳转进信息修改页面时,页面默认显示出用户在数据库中已经存储的基本信息,用户可以对其进行修改并保存。思路是通过后台传json数据到前台页面,前台通过ajax接受解析json数据,进而将对应的数据赋值给对应的input框里。但在实现过程终于遇到种种问题,侥幸将其解决后便决定将其记录下来。
首先得先导入json有关的jar包
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.5</version>
</dependency>
</dependencies>
然后在spring.xml里添加:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
<!-- <ref bean="mappingJacksonHttpMessageConverter" />-->
</list>
</property>
</bean>
再然后是Controller里的测试代码:
@RequestMapping(value = "/testJson.do",produces ={ "application/json;charset=UTF-8"})
@ResponseBody
public User testjson(){
User userjson=new User("qwer","q","无");
return userjson;
}
js文件:
$(document).ready(function () {
var val;
var val1;
$.ajax({
type: "POST",
url: "testJson.do",
dataType: "json",
success: function (data) {
val = JSON.stringify(data);
val1 = JSON.parse(val);
$('#exampleInputName2').val(val1.u_Name); //给input赋值
$('#exampleInputName3').val(val1.u_Power); //给input赋值
},
error: function (data) {
alert("系统繁忙,请稍后重试!");
}
});
});
前台测试页面:
以上就是我自己完成这一需求的思路,还是初学者,还请大家不吝赐教!