在高并发下,struts2 报一下错误,请大家看下什么原因,谢谢,在线等!!!

绿竹痕 2012-06-01 10:01:08
[2012-05-31 19:01:32][ERROR][org.apache.struts2.dispatcher.Dispatcher:512]- Could not find action or result
No result defined for action com.ceb.dsp.ssd.dataimport.action.DataImportAction and result error - action - zip:D:/weblogic/user_projects/domains/demo/servers/AdminServer/tmp/_WL_user/cebdsp20120531-3/5f90p8/war/WEB-INF/lib/_wl_cls_gen.jar!/struts-dataImport.xml:8:118
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:350)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept
jsp:
//当前登录用户是否有权限
function isUseConnection(){
$.ajax({
type:"post",
data:"",
url:"<%=basePath%>dataImport/isUseConnection.action",
datatype:"text",
success:function(json){
//alert(json);
if(json != "yes"){
//隐藏数据导入
hideDataImport(9);
}
}
});
}

action
public String isUseConnection(){

//0.声明变量
boolean isuseConnection = false;
String userId = null;
PrintWriter out = null; //输出对象
int count = 0;
try{
//1.获取当前登陆用户
userId = LogonUser.getLogonUser().getUserId();
out = response.getWriter();

//2.查询用户有无可用连接
count = dataImportService.getUseConnection(userId);
if(count != 0){
isuseConnection = true;
}

// isuseConnection = false;
//3.返回结果
if(isuseConnection){
out.print("yes");
}else{
out.print("no");
}
out.flush();
out.close();
return null;
}catch(Exception e){
logger.error("数据导入可用连接查询失败!", e);
request.setAttribute(Constants.ERROR_INFO_NAME, "数据导入可用连接查询失败!");
return ERROR;
}
}

struts.xml
<package name="dataImport" namespace="/dataImport" extends="struts-default">
<action name="isUseConnection" method="isUseConnection" class="com.ceb.dsp.ssd.dataimport.action.DataImportAction" extends="json-default">
</action>
</package>
...全文
269 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
枫桥 2012-06-05
  • 打赏
  • 举报
回复
你定义成String,返回的时候result找不到,好好看一下result对不对
ylovep 2012-06-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

本人将action方法public String isUseConnection()改了一下,将返回值变为void,就不报错了,明确的告诉struts2。此方法没有返回值。
[/Quote]
楼主既然用ajax提交 那肯定没必要定义result了。 因为ajax提交所有的处理在回调函数里面会解决。
所以做的只要out.println(“返回json信息”);

若定义了result那肯定是报错的,因为定义了result那也就是说让struts来处理返回结果 ,那定义ajax的回调函数有何意义?
  • 打赏
  • 举报
回复
你isUseConnection返回的是Error 但是你在Struts.xml中没有配置一个<result name="input">/</result>

错误时候就会返回name="input"这个<result>
去配置下
isUseConnection如果你将String 修改为void 就不需要配置 但是错误了就不会跳转到你的错误界面了。
任第一 2012-06-01
  • 打赏
  • 举报
回复
你上面导入正常是返回null吧。struts2得xml里面的得有result得一一对应的。所以报result错误了。
绿竹痕 2012-06-01
  • 打赏
  • 举报
回复
本人将action方法public String isUseConnection()改了一下,将返回值变为void,就不报错了,明确的告诉struts2。此方法没有返回值。

67,511

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧