java封装前端查询条件通用版
本文实例为大家分享了java封装前端查询条件的具体代码,供大家参考,具体内容如下
importhengyi.oa.mobile.exception.ServiceException; importjava.io.UnsupportedEncodingException; importjava.util.List; importjava.util.Map; importjava.util.Map.Entry; importjavax.servlet.http.HttpServletRequest; importorg.apache.commons.lang.StringUtils; /** *查询条件封装类 *@authorXue.YQ *@created2018年11月11日 */ publicclassTableTagBean { publicstaticfinalintDEFAULT_PAGE_SIZE=20; privatestaticfinalStringDELIMITER="\n"; privateintm_page; privateintm_pageSize=DEFAULT_PAGE_SIZE; privateintm_total; privateStringm_orderBy; privatebooleanm_asc; privateStringMapm_condition=newStringMap(); privateListm_list; privatebooleanm_builded=false; privateStringm_conditionParam=null; privateintm_pageCount; privatebooleanm_canPrev; privatebooleanm_canNext; publicTableTagBean(){} publicbooleangetAsc(){ returnm_asc; } publicvoidsetAsc(booleanasc){ ensureNotBuilded(); m_asc=asc; } publicStringMapgetCondition(){ returnm_condition; } publicvoidsetCondition(StringMapcondition){ ensureNotBuilded(); m_condition=condition; } publicStringgetOrderBy(){ returnm_orderBy; } publicvoidsetOrderBy(StringorderBy){ ensureNotBuilded(); m_orderBy=orderBy; } publicintgetPage(){ returnm_page; } publicvoidsetPage(intpage){ ensureNotBuilded(); m_page=page; } publicintgetPageSize(){ returnm_pageSize; } publicvoidsetPageSize(intpageSize){ ensureNotBuilded(); m_pageSize=pageSize; } publicintgetTotal(){ returnm_total; } publicvoidsetTotal(inttotal){ ensureNotBuilded(); m_total=total; } publicListgetList(){ returnm_list; } publicvoidsetList(Listlist){ ensureNotBuilded(); m_list=list; } publicvoidensureNotBuilded(){ if(m_builded){ thrownewIllegalStateException( "Can'tsetattributetoTableTagBeanafterbuild()iscalled."); } } publicbooleangetCanNext(){ returnm_canNext; } publicbooleangetCanPrev(){ returnm_canPrev; } publicStringgetConditionParam(){ returnm_conditionParam; } publicintgetPageCount(){ returnm_pageCount; } publicvoidbuild()throwsUnsupportedEncodingException{ if(m_condition.size()>0){ m_conditionParam=CryptoUtil.base64url_encode(m_condition .toString(DELIMITER).getBytes("GBK")); } if(m_total%m_pageSize!=0){ m_pageCount=m_total/m_pageSize+1; }else{ m_pageCount=m_total/m_pageSize; } m_canPrev=m_page>0; m_canNext=m_pagem=request.getParameterMap(); StringisEncodeURI=request.getParameter("isEncodeURI"); if(m!=null){ for(Entryentry:m.entrySet()){ Stringkey=(String)entry.getKey(); Object[]value=(Object[])entry.getValue(); //if("Y".equals(isEncodeURI)){ //Stringv=java.net.URLDecoder.decode(value[0].toString(),"UTF-8"); //ttb.getCondition().put(key,(value[0]==null)?null:v); //}else{ ttb.getCondition().put(key,(value[0]==null)?null:value[0].toString()); //} } } returnttb; } }
调用之处:
@RequestMapping("/listAgentAwaitRepor") publicListlistAgentAwaitRepor(HttpServletRequestrequest)throwsServiceException { TableTagBeanttb=TableTagBean.getFromParameter(request); returnoldAgentAwaitReportSearchFacade.list(ttb); }
取值之处:
StringtitleName=ttb.getCondition().get("titleName"); if(!GenericValidator.isBlankOrNull(titleName)) { sql.append("andbiz.biz_titlelike:bizTitle"); sqlParams.put("bizTitle","%"+titleName.trim()+"%"); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。