jquery把數組變為字符串然後在傳到服務端(jquery把數組轉換成字符串後,格式如1,2,3,速度,rewr)
. 代碼如下:
define(function(require, exports, module) {
var Notify = require('common/bootstrap-notify');
module.exports = function($element) {
$element.on('click', '[data-role=batch-delete]', function() {
var $btn = $(this);
name = $btn.data('name');
var ids = [];
$element.find('[data-role=batch-item]:checked').each(function(){
ids.push(this.value);
});
if (ids.length == 0) {
Notify.danger('未選中任何' + name);
return ;
}
if (!confirm('這的要刪除選中的' + ids.length + '條' + name + '嗎?')) {
return ;
}
$element.find('.btn').addClass('disabled');
Notify.info('正在刪除' + name + ',請稍等。', 60);
var values=ids.toString();
$.post($btn.data('url'), {ids:values}, function(){
window.location.reload();
});
});
};
});
接收jquery傳過來的字符串,並解析成數組,再把數組轉換成list集合
. 代碼如下:
/**
* 批量刪除私信。
*/
@RequestMapping(value = "/delete", method = {RequestMethod.GET,RequestMethod.POST})
public ResponseEntity<AjaxPostResponse> delete(HttpServletRequest request) {
// 待刪除的私信ID列表
String messageIds = ServletRequestUtils.getStringParameter(request, "ids", "");
String[] messageList=messageIds.toString().split(",");
List<String> messageIdList = Arrays.asList(messageList);//數組轉換成list
logger.info("------------"+messageIds);
logger.info("------------"+messageList[0]);
try {
boolean opStatus = messageManager.delete(messageIdList);
logger.info("刪除私信:opStatus={}", opStatus);
return this.okResponse(opStatus);
} catch (Exception e) {
logger.error("添加私信時發生異常, Cause: ", e);
return this.errorResponse(e.getMessage());
}
}