毕业设计记录--submit的提交方式,跟用ajax的提交,有啥区别(freemarker实现模糊查询的坑)

首先是两者的区别(资料来源于百度)
Ajax的使用比较灵活,可以用于ExtJS中许多组件的提交,在页面上可以获取你从后台传送过来的若干个值,在传参数的提交中有点需要注意:一、如果值传一到两个参数,并且参数值不是中文的情况下,可以在servlet的后面直接带参数来传送;二、如果传的参数过多,或者需要传送中文到后台,那么建议在Ajax中使用params属性,写法如:params:{name:‘value’,psd:‘密码’},这种情况传送的话,在后台就不会出现中文乱码的问题,而且书写也比较美观。接收值的话使用var json = Ext.util.JSON.decode(result.responseText);,这个你定义的json是你从servlet中获取的JSON对象,然后调用JSON对象的属性,就是你需要获取的值。

submit用在一个FormPanel的提交,这种方式的提交在对于表单来说的话比较方便(相对于Ajax提交来说),它的这种提交在url中不用带参数,它会自动将FormPanel中所有的组件值传递到后台,而且你在提交之前还可以做一个判断if (FormName.getForm().isValid()),这表示当你的表单组件全部通过验证之后,你的数据才会提交打后台(例如:一个textfield需要让你输入一个不带小数点的数字,而这个时候你输入了一个带小数点的数字的话,当你点击提交按钮的时候,submit不会出发,并且会在你的textfield组件上使用红色的线来标示这个组件的输入出现了问题)。但是在获取值方面不如Ajax灵活,只能获取success属性的值。

标题 我第一个思路的难题

1.原本的思路是用ajax的方式发送get请求方式,通过后台返回模糊查询的结果,然后显示出来,奈何自己的success方法和error都没有被执行,自己也不知道为什么,所以,这个思路就放弃了。
这是我的代码,有没有高手可以解惑一下
在这里插入图片描述

标题换个思路 不用ajax的方式了,改成在按钮的时候,用submit过去

在这里插入图片描述
后端接受处的代码
在这里插入图片描述
这个是findlist的代码

//在carNumber处使用了int定义,没有使用包装类型来定义,传入了int的默认值0,导致的失败。
    //
    public PageBean<carRepair> findList(carRepair carrepair, PageBean<carRepair> pageBean){
        //文本框里输入的字段模糊匹配
        ExampleMatcher withMatcher = ExampleMatcher.matching().withMatcher("carProblem", ExampleMatcher.GenericPropertyMatchers.contains());
        //example包含两个部分组成,分别是probe、matcher两部分,其中probe是实体类,包含用于查询的参数,另一个matcher是比对规则,用于设置比对语句,第一行是构造查询条件
        Example<carRepair> example = Example.of(carrepair, withMatcher);
        //第二行是构造分页条件
        Pageable pageable = PageRequest.of(pageBean.getCurrentPage()-1, pageBean.getPageSize());
//        第三行是查询
        Page<carRepair> findAll = carrepairDao.findAll(example, pageable);

        //把值传入里面
        pageBean.setContent(findAll.getContent());
        pageBean.setTotal(findAll.getTotalElements());
        pageBean.setTotalPage(findAll.getTotalPages());
        return pageBean;
    }

标题 重点(个人的思路)

通过这个代码的方式就可以实现了页面初次加载的时候,模糊匹配是null,返回全部的值
然后在输入框那里输入信息,就根据自断进行模糊匹配且分页

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值