關於jeesite頁面數據跳轉


1,思路:前端獲取顯示頁面的接口,前端獲取接口后顯示該頁面,本頁面內存在顯示數據的接口獲取當前頁的數據,

同時在顯示的數據里有一個函數,點擊觸發進入后端另一個頁面接口,又會獲取到觸發點擊函數頁面,觸發函數頁面會有一個調該頁面數據的接口。。。。(循環往復)

在Controller:

@RequiresPermissions("sys:demo:list")
@RequestMapping(value = {"list", ""})
public String list(DemoEntity demoEntity , Model model){
model.addAttribute("demoEntity ", demoEntity );
return "modules/sys/demo/firstpagelist";
}

<% layout('/layouts/default.html', {title: '當前頁標題', libs: ['dataGrid']}){ %>
<div class="main-content">
    <div class="box box-main">
        <div class="box-header">
            <div class="box-title">
                <i class="fa icon-notebook"></i> ${text('當前頁副標題')}
            </div>
            <div class="box-tools pull-right">
                <a href="#" class="btn btn-default" id="btnSearch" title="${text('查詢')}"><i class="fa fa-filter"></i> ${text('查詢')}</a>
            </div>
        </div>
        <div class="box-body">                                                     
            <#form:form id="searchForm" model="${demoEntity}" action="${ctx}/sys/listData" method="post" class="form-inline hide"
                    data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
                <div class="form-group">
                    <label class="control-label">${text('屬性1')}:</label>
                    <div class="control-inline">
                        <#form:input path="屬性1" maxlength="64" class="form-control width-120"/>
                    </div>
                </div>
                <div class="form-group">
                    <button type="submit" class="btn btn-primary btn-sm">${text('查詢')}</button>
                    <button type="reset" class="btn btn-default btn-sm">${text('重置')}</button>
                </div>
            </#form:form>
            <table id="dataGrid"></table>
            <div id="dataGridPage"></div>
        </div>
    </div>
</div>
<% } %>
<script>
// 初始化DataGrid對象
$('#dataGrid').dataGrid({
    sortableColumn: false,
    searchForm: $("#searchForm"),
    columnModel: [
        {header:'${text("屬性1")}', name:'param1', index:'param1', width:100, align:"center", frozen:true},
//引入頁面跳轉(同時將參數傳給后端)
        {header:'${text("屬性2")}', name:'param2', index:'param2', width:100, align:"center", frozen:true, formatter: function(val, obj, row, act){
return '<a href="頁面跳轉的接口/clicklist?param2='+row.param2+'" class="btnList" data-title="${text("點擊頁面標題")}">'+(val||row.param1)+'</a>';
        },align:"center"},
        {header:'${text("屬性3")}', name:'param3', index:'param3', width:100, align:"center", frozen:true},
    //添加字典后屬性顯示    
{header:'${text("屬性4")}', name:'param4', index:'param4', width:100, align:"center",formatter: function(val, obj, row, act){
            return js.getDictLabel(${@DictUtils.getDictListJson('param4')}, val, '${text("0")}', true)
        }    },
    //另一種頁面跳轉方式    
        {header:'${text("查看詳情")}', name:'actions', width:50, sortable:false, title:false, formatter: function(val, obj, row, act){
            var actions = [];
            <% if(hasPermi('權限碼')){ %>
                actions.push('<a href="${ctx}/頁面跳轉的接口/clicklist?param2='+row.param2+'" class="btnList" title="${text("查看詳情")}"><i class="fa fa-info"></i></a>&nbsp;');
            <% } %>
            return actions.join('');
        }},
                 ],
                
    // 加載成功后執行事件
    ajaxSuccess: function(data){
        
    }
});
</script>

調頁面的顯示數據:

  

@RequiresPermissions("zkgj:countOpenLock:view")
@RequestMapping(method = RequestMethod.POST,value = "/sys/listData")
@ResponseBody()
public Page<DemoEntity> listData(DemoEntity demoEntity, HttpServletRequest request, HttpServletResponse response) {
//實例化page對象(改)
Page<DemoEntity> page=new Page<DemoEntity>(request, response);
demoEntity.setPage(page);
//獲取統計信息並封裝與頁面page內
page = demoEntityService.findPageByParam(demoEntity);
return page;
}

 

//點擊跳轉的頁面接口

@RequiresPermissions("權限碼")
@RequestMapping(value="clicklist")
public String clickDeviceIdSelectlist(String param2, Model model) {
//將從統計頁面獲取到的deviceId傳遞到統計詳情頁面
model.addAttribute("param2", param2);
return "點擊頁面的路徑地址";
}

<% layout('/layouts/default.html', {title: '點擊頁面標題', libs: ['dataGrid']}){ %>
<div class="main-content">
	<div class="box box-main">
		<div class="box-header">
			<div class="box-title">
				<i class="fa icon-notebook"></i> ${text('點擊頁面副標題')}
			</div>
		</div>
		<div class="box-body">
		<#form:form id="searchForm" model="${param2}" action="/clicklistData?param2=${param2}" method="post" class="form-inline hide"
					data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
			    </#form:form>    
			<table id="dataGrid"></table>
			<div id="dataGridPage"></div>
		</div>
	</div>
</div>
<% } %>
<script>
// 初始化DataGrid對象
$('#dataGrid').dataGrid({
	searchForm: $("#searchForm"),
	columnModel: [
		{header:'${text("屬性1")}', name:'param1', index:'對應數據庫字段', width:150, align:"center"},
		{header:'${text("屬性2")}', name:'param2', index:'對應數據庫字段', width:150, align:"center"},
		
//注意轉字典	
		{header:'${text("屬性3")}', name:'param3', index:'對應數據庫字段', width:150, align:"center"
			//根據字典替換
			,formatter: function(val, obj, row, act){
				return js.getDictLabel(${@DictUtils.getDictListJson('對應數據庫字段')}, val, '${text("0")}', true)	
		}},
	],
	// 加載成功后執行事件
	ajaxSuccess: function(data){
		
	},
	timestampFormatDate: function(timestamp,format){
		let date=timestampToDate(timestamp);
		let result=formatDate(date,format);
		return result;
		}
	
});
</script>

 

 //點擊跳轉的頁面獲取數據的接口

@RequiresPermissions("權限碼")
@RequestMapping(method = RequestMethod.POST,value ="/clicklistData")
@ResponseBody()
public Page<DemoEntity> clickSelectlistData(String param2, HttpServletRequest request, HttpServletResponse response) {
//實例化page對象對request的數據進行封裝(pageCount pageNo PageSize)
Page<DemoEntity> page=new Page<DemoEntity>(request, response);
//將deviceId封裝到實體類中(好處:省去了對deviceId進行是否為空的判斷)
DemoEntity demoEntity=new DemoEntity();
demoEntity.setParam2(param2);
demoEntity.setPage(page);
//獲取統計信息並封裝與頁面page內
page = demoEntityService.clickDeviceId(demoEntity);
return page;
}

 

以上便是我做分頁時的Controller及頁面的部分代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM