qq_37829866 2017-03-09 06:27 采纳率: 0%
浏览 770

struts2 为什么报不能实例化这个错误

Java类
package com.osp.action;

public class Addaction {
private String message;

// 添加操作
public String add() {
    message = "==========执行了AddAction 类的add()方法==========";
    return "Add";
}

public String getMessage() {
    return message;
}

}
package com.osp.action;

public class Deleteaction {
private String message;

// 删除操作
public String delete() {
    message = "==========执行了 DeleteAction类的delete()方法==========";
    return "Delete";
}

public String getMessage() {
    return message;
}

}
package com.osp.action;

public class Queryaction {
private String message;

// 查询操作
public String query() {
    message = "==========执行了 QueryAction类的query()方法==========";
    return "Query";
}

public String getMessage() {
    return message;
}

}
package com.osp.action;

public class Updateaction {
private String message;

// 修改操作
public String update() {
    message = "==========执行了 UpdateAction类的update()方法==========";
    return "Update";
}

public String getMessage() {
    return message;
}

}
13:37:48
凯旋的勇士 2017/3/9 13:37:48
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">



<!-- Action中指定业务方法的调用—— 使用通配符*及表达式{n} -->

{1}.jsp



13:38:06
凯旋的勇士 2017/3/9 13:38:06
5个jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


添加操作
<br><br> .msg{<br> font-size:30px;<br> }<br>



${message}



<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


删除操作
<br><br> .msg{<br> font-size:30px;<br> }<br>



${message}



<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


添加操作
<br><br> .msg{<br> font-size:30px;<br> }<br> a{<br> text-decoration: none;<br> }<br> h1{<br> color:blue;<br><br> text-align:center;<br><br> }<br>


工作任务6:Action中指定业务方法的调用 ——使用通配符*及表达式{n}


案例2:
(练习)提问:若把案例1中 的UserManagerAction类拆分成4个Action类(即AddAction 、DeleteAction、UpdateAction和QueryAction),实现同 样功能,如何配置struts.xml?







<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


查询操作
<br><br> .msg{<br> font-size:30px;<br> }<br>



${message}



<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


修改操作
<br><br> .msg{<br> font-size:30px;<br> }<br>



${message}



web.xml
<?xml version="1.0" encoding="UTF-8"?>


struts2
org.apache.struts2.dispatcher.ng.filter.Struts PrepareAndExecuteFilter


struts2
*.action

凯旋的勇士 2017/3/9 13:39:08
报的错误:
HTTP Status 500 - com.osp.action.Addaction.Add()

type Exception report

message com.osp.action.Addaction.Add()

description The server encountered an internal error that prevented it from fulfilling this request.

exception
java.lang.NoSuchMethodException: com.osp.action.Addaction.Add()
ognl.OgnlRuntime.callAppropriateMethod (OgnlRuntime.java:1246)
ognl.ObjectMethodAccessor.callMethod (ObjectMethodAccessor.java:68)
com.opensymphony.xwork2.ognl.accessor.XWorkMethodAcc essor.callMethodWithDebugInfo (XWorkMethodAccessor.java:117)
com.opensymphony.xwork2.ognl.accessor.XWorkMethodAcc essor.callMethod(XWorkMethodAccessor.java:108)
ognl.OgnlRuntime.callMethod (OgnlRuntime.java:1369)
ognl.ASTMethod.getValueBody (ASTMethod.java:90)
ognl.SimpleNode.evaluateGetValueBody (SimpleNode.java:212)
ognl.SimpleNode.getValue (SimpleNode.java:258)
ognl.Ognl.getValue(Ognl.java:494)
ognl.Ognl.getValue(Ognl.java:458)
com.opensymphony.xwork2.ognl.OgnlUtil $2.execute(OgnlUtil.java:309)
com.opensymphony.xwork2.ognl.OgnlUtil.compileAndExec ute(OgnlUtil.java:340)
com.opensymphony.xwork2.ognl.OgnlUtil.getValue (OgnlUtil.java:307)
com.opensymphony.xwork2.DefaultActionInvocation.invo keAction(DefaultActionInvocation.java:423)
com.opensymphony.xwork2.DefaultActionInvocation.invo keActionOnly(DefaultActionInvocation.java:287)
com.opensymphony.xwork2.DefaultActionInvocation.invo ke(DefaultActionInvocation.java:250)
org.apache.struts2.interceptor.DeprecationIntercepto r.intercept(DeprecationInterceptor.java:41)
com.opensymphony.xwork2.DefaultActionInvocation.invo ke(DefaultActionInvocation.java:244)
org.apache.struts2.interceptor.debugging.DebuggingIn terceptor.intercept(DebuggingInterceptor.java:256)
com.opensymphony.xwork2.DefaultActionInvocation.invo ke(DefaultActionInvocation.java:244)

  • 写回答

1条回答 默认 最新

  • 学习记录啦啦啦啦 2017-03-09 09:02
    关注

    message 建个set方法。

    评论

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试