Struts2的坑

今天学到Struts2的标签库

在struts2标签中使用OGNL语言,命名一个包为ognl.

然后按步骤写继承ActionSupport类的类,配置struts.xml

然后运行

尴尬的事情就发生了

java.lang.NoSuchMethodException: ognl.s.execute()

at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1247)

at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:68)
at com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethodWithDebugInfo(XWorkMethodAccessor.java:117)
at com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethod(XWorkMethodAccessor.java:108)
at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:1370)
at ognl.ASTMethod.getValueBody(ASTMethod.java:91)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
at ognl.SimpleNode.getValue(SimpleNode.java:258)
at ognl.Ognl.getValue(Ognl.java:467)
at ognl.Ognl.getValue(Ognl.java:431)

错误是这个类的这个方法没有实现,什么鬼。。。

后来在这个包下的重新命名一个类,重写execute()

错误还在。

最后重新写一个测试包。

运行可以了,太感动了!!!

最后,得出一个结论:

不要以ognl开头的包名,ogls可以,com.example.ognl可以。


你可能感兴趣的:(Struts2的坑)