/*** 条件查询
*
*@return*@throwsParseException*/
public List completeCriterion() throwsParseException {
List cris = new ArrayList();
Enumeration params= (Enumeration) this.servletRequest
.getParameterNames();while(params.hasMoreElements()) {
String param=(String) params.nextElement();if (param.contains("_")) {
String[] array= param.split("_");
String paramname= "";
String action= "";
String type= "";if (array.length == 3) {
paramname= array[0];
action= array[1];
type= array[2];
}if (array.length == 4) {
paramname= array[0] + "." + array[1];
action= array[2];
type= array[3];
}if (Util.isValidSring(paramname) &&Util.isValidSring(action)&&Util.isValidSring(type)) {
String paramvalue= this.servletRequest.getParameter(param);if (Util.isValidSring(paramvalue) == true) {
Criterion c= null;if (action.equals("LIKE")) {
c= Expression.like(paramname, this.value(type,
paramvalue).toString(), MatchMode.ANYWHERE);
}if (action.equals("GT")) {
c= Expression.gt(paramname, this.value(type,
paramvalue));
}if (action.equals("LT")) {
c= Expression.lt(paramname, this.value(type,
paramvalue));
}if (action.equals("EQ")) {
c= Expression.eq(paramname, this.value(type,
paramvalue));
}if (c != null) {
cris.add(c);
}
}
}
}
}returncris;
}public Object value(String type, String paramvalue) throwsParseException {if (type.equals("DATE")) {returnDateFormat.getDateInstance().parse(paramvalue);
}if (type.equals("LONG")) {returnLong.valueOf(paramvalue);
}if (type.equals("INT")) {returnInteger.valueOf(paramvalue);
}else{returnparamvalue;
}
}/*** 匹配公式符号
*
*@paramf
*@return
*/
publicString completeFormula(String f) {if (f.equals("LIKE")) {return " like ";
}if (f.equals("GT")) {return " > ";
}if (f.equals("LT")) {return " < ";
}if (f.equals("EQ")) {return " = ";
}else{return "";
}
}