SSM+EasyUI实现级联查询(模糊查询+时间段查询),帮助新手脱坑


 

1、实现效果

实现思路:后台获取前端搜索框的值,在查询所有的mapper中增加条件,重要的是用Map存放数据。


 

2、前端js

//查询事件----核心
        function searchScore() {
            $("#dg").datagrid('load', {
                "dormid": $("#s_dormid").val(),
                "scoretime": $("#s_scoretime").val(),
                "scoretime_end": $("#s_scoretime_end").val()
            });
        }
//重置事件
function reset() {
            $("#s_dormid").textbox('setValue', "");
            $("#s_scoretime").datetimebox('setValue', "");
            $("#s_scoretime_end").datetimebox('setValue', "");
        }

 

3、前端页面

评分日期实现时间段查询(开始日期-截至日期),所以在实体类model增加一个字段存放截至日期scretime_end

 &nbsp;宿舍:&nbsp;<input type="text" class="easyui-textbox" id="s_dormid" size="20"
                              onkeydown="if(event.keyCode == 13)searchScore()"/>
        &nbsp;评分日期:&nbsp;<input id="s_scoretime" class="easyui-datetimebox"
                                data-options="required:true,editable:false" style="width:150px"> -
        <input id="s_scoretime_end" class="easyui-datetimebox"
               data-options="required:true,editable:false" style="width:150px">

        <a href="javascript:searchScore()" class="easyui-linkbutton"
            iconCls="icon-redo" plain="true">查询</a>
        <a href="javascript:reset()" class="easyui-linkbutton"
           iconCls="icon-reload" plain="true">重置</a>

 

 4、medel

public class Score {
    private Integer id;
    private String dormid;
    private String scoretime;
    private String scoretime_end;
//getter和setter
}

 

 5、dao、service

public interface ScoreDao {

    List<Score> find(Map<String, Object> map);
}

public interface ScoreService {

    List<Score> find(Map<String, Object> map);
}

 

6、Impl

@Service("ScoreService")
public class ScoreServiceImpl implements ScoreService {

    @Autowired
    private ScoreDao scoreDao;
    @Override
    public List<Score> find(Map<String, Object> map) {
        return scoreDao.find(map);
    }
}

 

7、json数据工具类

public class ResponseUtil {
    public static void write(HttpServletResponse response, Object object) throws Exception {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        out.println(object);
        out.flush();
        out.close();
    }
}

8、controller

 @RequestMapping("/list")
    public String list(Score s_score, HttpServletResponse res) throws Exception {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("dormid", StringUtil.formatLike(s_score.getDormid()));
        map.put("scoretime",s_score.getScoretime());
        map.put("scoretime_end",s_score.getScoretime_end());
        List<Score> visitorList = scoreService.find(map);
        JSONObject result = new JSONObject();
        JSONArray jsonArray = JSONArray.fromObject(visitorList);
        result.put("rows", jsonArray);
        result.put("total", total);
        ResponseUtil.write(res, result);
        return null;

9、模糊查询工具类

public static String formatLike(String str){
        if(isNotEmpty(str)){
            return "%"+str+"%";
        }else{
            return null;
        }
    }

10、mapper

查询框都为空的时候默认查询所有显示出来,输入内容即为条件搜索

 <resultMap type="Score" id="ScoreResult">
        <result property="id" column="id" />
        <result property="dormid" column="dormid" />
        <result property="scoretime" column="scoretime" />
    </resultMap>
<select id="find" parameterType="Map" resultMap="ScoreResult">
        select * from t_b_score
        <where>
            <if test="dormid!=null and dormid!='' ">
                and dormid like #{dormid}
            </if>
            <if test="scoretime!=null and scoretime!='' ">
                and scoretime between #{scoretime} and #{scoretime_end}
            </if>
        </where>
    </select>

代码对您有帮助的话记得点个赞哦! 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值