问题RT,求解!
描述:
一个查询列表的功能
1、在struts2的action里用response.getWriter().write()返回json格式的字符串
2、JSP里用ajax处理返回数据
3、抛出异常(数据正常显示)
org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:771)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:506)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
PS:1、数据返回正常,显示正常,就是后台抛异常。
2、我直接访问action没有异常。问题应该出在JSP上
JSP引入的js代码:
var pageNo = 1;
var pageSize = 10;
//加载数据,渲染到html
function loadList() {
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
var username = $("#username").val();
var userid = $("#userid").val();
var url = rootPath+'/user/userMgr!queryList';
var params = "pageSize=" + pageSize + "&pageNo=" + pageNo + "&username="
+ username + "&userid=" + userid + "&startDate=" + startDate
+ "&endDate=" + endDate;
// alert(params);
$
.ajax({
type : "POST",
dataType : "text",
data : params,
url : url, // 请求action地址
success : function(res) {
var page = eval("(" + res + ")");
var list = page.result; // 获取数据
// 拼html
var html = "<div class='tab-title'><h4><span class='icon-play'></span>數據展現:</h4></div>"
+ "<table width='100%' cellspacing='0' cellpadding='0' border='0' class='table-form color-table'><thead>";
// 表头
var tableHead = [ '帳號', '用户名称', '密码', '性别', '註冊時間',
'是否為管理員', '操作' ];
html += "<tr>";
for ( var i = 0; i < tableHead.length; i++) {
if (i == tableHead.length - 1) {
html += "<th align='center' style='border-right:none'>";
} else {
html += "<th align='center'>";
}
html += tableHead[i];
html += "</th>";
}
html += "</tr></thead><tbody>";
// 表身
for ( var i = 0; i < list.length; i++) {
var stat = [ "否", "是" ]; // 管理員狀態
var sex = [ "男", "女" ]; // 性別
var opt = [
" <a href='javascript:updateToot(" + list[i].ID
+ "," + list[i].IS_ROOT
+ ")'>設為管理員</a> ",
"<a href='javascript:updateToot(" + list[i].ID
+ "," + list[i].IS_ROOT
+ ")'>取消管理員</a>" ];
var userid = '';
var username = '';
var pwd = '';
var gender_flag = '';
var in_time = '';
var root = 0;
if (list[i].USERID)
userid = list[i].USERID;
if (list[i].USERNAME)
username = list[i].USERNAME;