(原创,转载请注明)
接上一篇
顺带提一下上面代码出现的RoomTypeJsonValueProcessor,其实就是对Date进行处理
RoomTypeJsonValueProcessor.java:
public class RoomTypeJsonValueProcessor implements JsonValueProcessor
{
public Object processArrayValue(Object arg0, JsonConfig arg1)
{
return null;
}
public Object processObjectValue(String key, Object value, JsonConfig arg2) {
if (key.equals("dateBegin")) {
return DateUtil.getDateStr((Date) value);
}
if (key.equals("dateEnd")) {
return DateUtil.getDateStr((Date) value);
}
if (key.equals("liveDate")) {
return DateUtil.getDateStr((Date) value);
}
if (key.equals("leaveDate")) {
return DateUtil.getDateStr((Date) value);
}
if (key.equals("orderDate")) {
return DateUtil.getDateStr((Date) value,"yyyy-MM-dd HH:mm:ss");
}
return value;
}
}
JsonBean的用处上面很明确了,用了泛型:
JsonBean.java:
public class JsonBean<T> {
private int total;
private List<T> rows;
//getter&&setter
}
QueryCondition主要用在后台底层查值时传递参数
QueryCondition.java:
public class QueryCondition
{
private SortObject sortObj;
//getter&&setter
}
OrderQueryConditon具体业务的查询条件
OrderQueryConditon.java:
public class OrderQueryConditon extends QueryCondition
{
private Date dateBegin;
private Date dateEnd;
private String roomTypeId;
private Integer roomNum;
//getter&&setter
}
SortObject就两字段
SortObject.java:
public class SortObject
{
private String sortName;
private String sortType;
public SortObject(String sortName, String sortType) {
this.sortName = sortName;
this.sortType = sortType;
}
public SortObject() {
}
//getter&&setter
}
还有struts的配置文件:
<action name="queryOrder" class="action.OrderQueryAction">
<result type="json">
<param name="root">result</param>
</result>
</action>
这里action配置一定要和前台请求的url一致
到此为止,列表查询是没问题了,但实际需求往往还要加入条件查询,其实上面后台代码已经加入了条件查询的部分,只是前台没有加入,可以如下加入条件:
<input type="text" class="input" name="condition.roomNum" id="condition.roomNum">
在查询按钮的onclick事件调用以下函数
function query (){
// 获取查询参数
var queryParams = $('#dataGrid').datagrid('options').queryParams;
var roomNum = $.trim($("#condition.roomNum").val());
// condition对应action的实例变量condition
queryParams["condition.roomNum"] = roomNum;
// 重置查询页数为1
$('#dataGrid').datagrid('options').pageNumber = 1;
var p = $('#dataGrid_queryYmjtcy').datagrid('getPager');
if (p){
$(p).pagination({
pageNumber:1
});
}
// 刷新列表数据
$('#dataGrid_queryYmjtcy').datagrid('reload');
}