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()+"%");
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。