问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

springmvc加json加ajax要怎么配置

发布网友 发布时间:2022-04-09 16:13

我来回答

2个回答

懂视网 时间:2022-04-09 20:34

div class="tab_tip"> 请输入[身份证号或姓名] <input type="text" class="tab_getText" id="tab1_getText"> <input type="button" class="tab_selectButton" id="tab1_selectButton" value="查询"> </div> <!-- 省略代码 --> <table class="table" id="table1" cellspacing="0" cellpadding="0"> <tr> <th>个人编号</th> <th>身份证号</th> <th>姓名</th> <th>性别</th> <th>民族</th> <th>出生年月</th> <th>参加工作时间</th> <th>缴费基数</th> <th>单位编号</th> <th>单位简称</th> <th>人员状态</th> </tr> </table>

2. JavaScript处理代码

$(function(){
  $("#tab1_selectButton").unbind(‘click‘).click(function(){
  var tab1_getText = $.trim(document.getElementById("tab1_getText").value);
  if(tab1_getText != ""){
   $.ajax({
   type:"POST",
   url:"getStaffAllSelect/"+tab1_getText+"/0",
   async:false,
   dataType:"json",
   success:function(data){
    $(".staffallinfotr").remove();
    for(i=0;i<data.length;i++){
    $("#table1").append(‘<tr class="staffallinfotr"><td>‘+data[i].sid+‘</td><td>‘+data[i].sino+‘</td><td>‘+data[i].sname+‘</td><td>‘+data[i].ssex+‘</td><td>‘+data[i].snation+‘</td><td>‘+data[i].sbirth+‘</td><td>‘+data[i].sdaj+‘</td><td>‘+data[i].pbase+‘</td><td>‘+data[i].cid+‘</td><td>‘+data[i].csn+‘</td><td>‘+data[i].sstate+‘</td></tr>‘);
    }
   },
   error:function(){
    alert("error");
   },
   complete : function(XMLHttpRequest,status){
       if(status==‘timeout‘){
          ajaxTimeoutTest.abort(); 
         alert("超时"); 
       } 
   } 
   
   });
  }else{
   alert("请输入个人编号或姓名!");
  }
  });
 });

3.Controller类中方法(注:StaffAllSelectDTO:和前端jsp页面中的table字段相同,因为代码过长,就不再贴出)

@RequestMapping("/getStaffAllSelect/{sname}/{start}")
 public @ResponseBody List<StaffAllSelectDTO> getStaffAllSelect(@PathVariable String sname, @PathVariable int start){
 List<StaffAllSelectDTO> staffAllSelectDTOList = staffServices.getStaffAllSelectByName(sname, start, 10);
 for(int i=0;i<staffAllSelectDTOList.size();i++){
  System.out.println(staffAllSelectDTOList.get(i));
 }
 return staffAllSelectDTOList;
 }

4. Services类中方法

@Override
 public List<StaffAllSelectDTO> getStaffAllSelectByName(String sname, int start, int limit) {
 // TODO Auto-generated method stub
 List<Staff> staffList = staffDAO.getStaffsByName(sname, start, limit);
 List<StaffAllSelectDTO> staffAllSelectDTOList = staffFactory.staffAndStaffPaymentToStaffAllSelectDTO(staffList);
 return staffAllSelectDTOList;
 }

5. DAO类中方法

@Override
 public List<Staff> getStaffsByName(String sname, int start, int limit) {
 // TODO Auto-generated method stub
 Map<String, Object> map = new HashMap<String, Object>();
 map.put("sname", sname);
 map.put("start", start);
 map.put("limit", limit);
 return getSqlSession().selectList("com.staff.entity.StaffMapper.getStaffsByName", map);
 }

6. DTO: StaffAllSelectDTO:和前端jsp页面中的table字段相同,因为代码过长,就不再贴出)

7. Mybatis

<select id="getStaffsByName" parameterType="Map" resultMap="StaffResult">
 select s.sid,s.sino,s.sname,s.ssex,s.snation,s.sbirth,s.sdaj,s.sstate,s.spbase,s.cid,c.csn,c.cname from staffinfo s, companyinfo c where s.cid = c.cid
 <if test="sname != null and !"".equals(sname)">and s.sname like CONCAT(‘%‘,#{sname,jdbcType=VARCHAR},‘%‘)</if>
 <if test="start!=null and limit!=null"> 
 limit #{start},#{limit} 
 </if> 
 </select>

 

Spring注解处理Ajax请求-JSON格式[系统架构:Spring+SpringMVC+MyBatis+MySql]

标签:lin   系统   err   相同   str   method   list   size   架构   

热心网友 时间:2022-04-09 17:42

加入对springmvc需要jackson支持包的引入
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.6.3</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.6.3</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.6.3</version></dependency>
不引入支持包,在debug下,spring会抛出异常
配置spring-servlet.xml
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJackson2HttpMessageConverter" />
</list>
</property>
</bean>
<bean id="mappingJackson2HttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>text/json;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
具体使用方法:
使用注解@ResponseBody可以将结果(一个包含字符串和JavaBean的Map),转换成JSON。 使用 @RequestBody 注解前台只需要向 Controller 提交一段符合格式的 JSON,Spring 会自动将其拼装成 bean。
ajax json前端请求示例
jQuery.ajax( {
type : 'GET',
contentType : 'application/json',
url : 'user/list',
dataType : 'json',
success : function(data) {
if (data && data.success == "true") {
$('#info').html("共" + data.total + "条数据。<br/>");
$.each(data.data, function(i, item) {
$('#info').append(
"编号:" + item.id + ",姓名:" + item.username
+ ",年龄:" + item.age);
});
}
},
error : function() {
alert("error")
}
});
后台java controller类
@Controller
@RequestMapping("/user")
public class DemoController {

@RequestMapping(value = "/list", method = RequestMethod.GET)
@ResponseBody
public Map<String, Object> getUserList() {
logger.info("列表");
List<UserModel> list = new ArrayList<UserModel>();
UserModel um = new UserModel();
um.setId("1");
um.setUsername("sss");
um.setAge(222);
list.add(um);
Map<String, Object> modelMap = new HashMap<String, Object>(3);
modelMap.put("total", "1");
modelMap.put("data", list);
modelMap.put("success", "true");
return modelMap;
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 乒乓球八一队与国家队有什么关系 孙铭阳怎么加入河北队了 国乒世界第恐没有资格参加联赛,樊振东该怎么办? 樊振东为什么不参加兵超联赛 好听的现代爱情诗! 又1乒乓球大赛,为何世界排名第一国手不能参赛? 都塔尔的发展? 八一队为什么要解散 顺囗诗爱情诗 wifi为什么连上不能用 在《三国演义》中,排名前五的猛将都有哪一些? 有没有可以网上远程教学都塔尔的老师 八一乒乓球队解散,三代奥运冠军传承成绝唱了吗? 都塔尔琴音位怎么绑及? 八一乒乓球队解散了吗? 请问在网络上可以学弹都塔尔吗? 现代诗中最经典的爱情诗是哪一首??? 高中阶段数学取值范围怎么表示。 尤其是分好几段范围的时候 (-3,0)能表示取值范围吗 表示取值范围的图怎么画? 八一乒乓球队 离开八一队,一度经商,自主择业的刘国梁每年的退休金有多少? 八一队名将、乒乓球奥运冠军王涛,究竟是什么水平? 四维彩超和大排畸区别在哪里? 哪有八一乒乓球队前队员白石的资料和图片? 电脑图标没有了,变成透明的了,是怎么回事, 因果联系 电脑上桌面图标 透明了 怎么回事?怎么变回来? 电脑的某些文件图标变成透明? 大排畸的检查方式有三维或者是四维彩超,有什么区别? 孕妇大排畸检查跟四维有什么区别 桌面图标成半透明得了 宝妈们,四维彩超和大排畸有什么区别呢? WIN8桌面图标变成透明了 透明桌面文件夹图标是咋回事 电脑系统盘里的文件图标变透明是什么意思? 电脑桌面的word图标显示透明了,谁知道怎么回事吗?原有的word显示正常,但是对文件编辑后就显示透明了, 不知道为什么苹果电脑上的这些软件图标都变成这样子了,而且显示在桌面上的文件也都是空白的和透明的? 魅族16T和华为mate20哪个更好一点 买那个好? 不要的枕头给别人了,我本人会不会倒霉!最近怎么总被偷啊?