marmot framework 高级查询应用体验

url:marmot/query/query-box.jsp
view: org.marmot.framework.query.view.QueryBox

tabsetQuery 对象的事件 <afterTabChange> 代码中添加 以下代码 用于过滤不想用于查询的字段

   if(field.getTag() == 'hide') {
continue;
}

if(field.getTag() == 'hide') {
datasetColumn.moveNext();
}



针对服务器端对参数的处理代码示例:

if(null != condition) {
if(condition instanceof Query) {
Query query = (Query)condition;
List<QueryWhere> list = query.getWheres();
QueryWhere[] removeQueryWheres = new QueryWhere[1];
for(QueryWhere qWhere: list) {
if("DWH".equals(qWhere.getFieldName())) {
// list.remove(qWhere);
removeQueryWheres[0] = qWhere;
}
if(qWhere.getCompareOp().equals("like-free")
||qWhere.getCompareOp().equals("like-end")
||qWhere.getCompareOp().equals("like-start")) {
//qWhere.setCompareValue("%"+qWhere.getCompareValue());
qWhere.setCompareOp("like");
}
}
list.remove(removeQueryWheres[0]);
HQLQueryBuilder queryBuilder = new HQLQueryBuilder();
QL ql = queryBuilder.buildQL(query);
if(null != ql) {
String whereClause = ql.getWhereClause().toString();
whereClause = whereClause == null || "".equals(whereClause) ?" 1=1 ":whereClause;
Map valueMap = ql.getParameters();
String[] names = ql.getParameterNames();
st.setSql(preSql +" and "+ whereClause +")");
for(String str : names) {
Object tmpObj = valueMap.get(str);
String ttString = new String(tmpObj.toString().getBytes("utf-8"),"?");
st.parameters().setValue(str, ttString);
// System.out.println(str+":"+ttString);
}
} else {
st.setSql(preSql + ")");
}
} else {
st.setSql(preSql + ")");
}
} else {
st.setSql(preSql + ")");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值