本文中未使用json插件,所以在struts2中正常配置
加载所有user信息
test.java
public void allUserList() throws Exception{
userid = super.getUserModel().getUserId();
userIdList = managerContext .getUserManager().getAlluserList( );
PrintWriter out =(PrintWriter) super .getResponse().getWriter();
StringBuffer strJS = new StringBuffer( "{/"aaData/":[" );
int count =0;
for (String userls : userIdList ){
strJS.append( "[/"" + userls + "/",/"" + userls + "/"]" );
if (count< userIdList .size()-1){
strJS.append( "," );
}
count++;
}
strJS.append( "]}" );
out.write(strJS.toString());
System. out .println(strJS);
out.close();
// return Action.SUCCESS;
}
jsp页面
在使用jquery时需要导入相关的js文件
jquery-1.3.2.js、ui.core.js、ui.accordion.js、jquery.dataTables.js、ui.dialog.js、ui.draggable.js
css文件
ui.all.css、datatable.css、demo_page.css、demos.css
使用 jquery 传入数据到后台,在 action 中返回 json 类型的数据
< div id = "searchDialog" title = "create...." style = "display:none;" >
< div id = "look" ></ div >
</ div >
< div id = "dialogMessage" title = "Message..." style = "display:none;" ></ div >
模式窗口 , 通过 div ID 加载
$( "#searchDialog" ).dialog({
bgiframe: true ,
autoOpen: false ,
height: 500,
closeOnEscape: false ,
modal: true
});
带按钮的模式窗口
$( "#dialogMessage" ).dialog({
bgiframe: true ,
autoOpen: false ,
height: 150,
closeOnEscape: false ,
modal: true ,
draggable: true ,
buttons: {
OK: function () {
$( this ).dialog( 'close' );
}
}
});
//加载页面
$(document).ready( function (){
/*使用 jquery.databales.js 插件,在页面取到的列与后台传入的列相同,如后台有二列,而前台有
*三列,其中两列为数据,一列为按钮,这样会抛异常:列的数量不匹配,如果有一列为空,需
*要放一些按钮而没有数据,那么在后台可传入一个空列或其它有标志性的数据
*/
oTable = $( '#license' )
.dataTable(
{
"sPaginationType" : "full_numbers" ,
"bProcessing" : true ,
"sAjaxSource" : ' <%= basePath %> /test.action ',
"cache: false" : false ,
"aoColumns" : [
{
"sTitle" : "userID" ,
"fnRender" : function (
obj) {
var filename = obj.aData[obj.iDataColumn];
return "<span id="
+ filename
+ "></span>"
+ filename;
}
},
{
"sTitle" : " 用户操作 " ,
"sClass" : "center" ,
"fnRender" : function (
obj) {
var sReturn = obj.aData[obj.iDataColumn];
var userid = sReturn;
if (sReturn != null ) {
sReturn = "<span class='btn'><span><a href=/"javascript:seachPath('" +userid+ "')/"> 查看 </a></span></span>";
} else {
sReturn = "" ;
}
return sReturn;
}
} ]
});
}
function seachPath(userid){
$( '#searchDialog' ).dialog( 'open' );
$( "#searchDialog" ).ready( function (){
var url=" <%= basePath %> /test.action ";
$.ajax({
type: "POST" ,
url: url,
async: false ,
cache: false ,
data: "userID=" +userid+ "" ,// 在 struts2 中有 userID 相应的属性
dataType: 'json' ,
success: function (json){
if (json.success == true ){
data = json.pathList;
var tr = ‘ 成功 ’;
var checktemp = false ;
document.getElementById( 'searchDialog' ).innerHTML =tr;
} else {
closedialog();
document.getElementById( 'dialogMessage' ).innerHTML = "" ;
$( '#dialogMessage' ).dialog( 'open' );
$( "#dialogMessage" ).ready( function (){
var result = "<p>" +json.msg+ "</p>" ;
document.getElementById( 'dialogMessage' ).innerHTML =result;
});
}
},error: function (json){
closedialog();
document.getElementById( 'dialogMessage' ).innerHTML = "" ;
$( '#dialogMessage' ).dialog( 'open' );
$( "#dialogMessage" ).ready( function (){
var result = "<p> 获取 path 失败 !</p>" ;
document.getElementById( 'dialogMessage' ).innerHTML =result;
});
}
});
})
// 导出文件
function exportSubLicense(userid){
window.open(' <%= basePath %> /test.action?userID= ' + userid );
}