功能:异步查询用户(User)详细信息,参数为id,返回一个User对象
js部分
$(".viewUser").on("click",function(){
//将被绑定的元素(a)转换成jquery对象,可以使用jquery方法
var obj = $(this);
/*window.location.href=path+"/userController/viewUser/"+ obj.attr("userid");*/
$.ajax({
type:"GET",
url:path+"/userController/viewUser",
data:{userid:obj.attr("userid")},
dataType:"json",
success:function(result){
if("failed"==result){
alert("操作超时!");
}else if("noData"==result){
alert("没有数据!");
}else{
$("#v_userCode").val(result.userCode);
$("#v_userName").val(result.userName);
if(result.gender=="1"){
$("#v_gender").val("女");
}else if(result.gender=="2"){
$("#v_gender").val("男");
}
$("#v_phone").val(result.phone);
$("#v_birthday").val(result.birthday);
$("#v_address").val(result.address);
$("#v_userRoleName").val(result.role.roleName);
$("#v_creationDate").val(result.creationDate);
}
},
error:function(data){
alert("error!");
}
});
});
Controller部分:
/**
* 显示用户信息
*
* @param id
* @param model
* @return REST风格的URL
*/
// 如果没用配置消息转换器处理中文乱码加,produces={"application/json;charset=utf-8"}
@RequestMapping(value = "viewUser", method = RequestMethod.GET,produces={"application/json;charset=utf-8"})
@ResponseBody// 将此方法的返回结果直接写入HTTP ResponseBody(Response对象的body数据区)中,也就是响应流中
public Object viewUser(@RequestParam String userid) {
String cjson = "";
User user = null;
try {
user = userService.findUserById(Integer.parseInt(userid));
if (userid == null || userid.equals("")) {
cjson = "noData";
}
cjson = JSON.toJSONString(user);
} catch (NumberFormatException e) {
e.printStackTrace();
return "failed";
} catch (Exception e) {
e.printStackTrace();
return "failed";
}
return user;
}
实体类部分(如果需要时间格式的转换):
@JSONField(format="yyyy-MM-dd")
private Date birthday;
@JSONField(format="yyyy-MM-dd HH:mm:ss")
private Date creationDate;//创建时间
使用SpringMvc配置文件配置消息转换器处理中文乱码和时间格式(Controller层去掉转换json字符串部分,实体类根据需求使用注解,fastjson默认时间格式yyyy-MM-dd HH:mm:ss):
<!-- 配置<mvc:annotation-driven/>完成对@Controller和@RequestMapping等注解的支持 -->
<mvc:annotation-driven>
<!-- 配置消息转换器 -->
<mvc:message-converters register-defaults="true">
<!-- 解决AJAX返回json数据中文乱码 -->
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 解决 AJAX返回json数据日期格式 -->
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json</value>
</list>
</property>
<property name="features">
<list>
<value>WriteDateUseDateFormat</value>
<value>WriteMapNullValue</value>
<value>QuoteFieldNames</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>