こんなエラーが出てました。
org.apache.jasper.JasperException: /WEB-INF/content/mother_auth/login/input.jsp(58,6) s:submit タグはそれがdynamic属性を受け付けると宣言していますが、それに必要なインタフェースを実装していません at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148) at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:777) at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411) at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:840) at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411) at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:840) at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530) at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411) at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:840) at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530)
なぜだろう…org.apache.struts2.views.jsp.ui.SubmitTagは、javax.servlet.jsp.tagext.DynamicAttributesを実装しているじゃないか。
なぜなんだーーー!!!
と叫ぶ直前で気がつきました。WEB-INF/libの下に、"jsp-api.jar"が紛れ込んでしまっていたことに。
WEB-INF/lib/jsp-api.jarのDynamicAttributesと、ServletコンテナのDynamicAttributesが異なるクラスローダーでロードされているために起きていたエラーなのでした。
クラスが無いとか、型が変だとか言われたときは、WEB-INF/libの下に、サーブレットコンテナが既に
ロード済みのクラスが混入していないかを、調べるといいと思います。たぶん。