JSP标签异常,长知识啦一起进来讨论

方得始终不忘初心 2017-03-03 10:53:06
用Maven搭建SSH框架,整好struts2时发生一个奇怪的问题,JSP页面上的<s:form>解析不了,但是其他标签OK例如:<s:textfield><s:submit>等都能正常解析出来。
异常信息如下:
严重: Servlet.service() for servlet [jsp] in context with path [/ssh] threw exception [An exception occurred processing JSP page /index.jsp at line 15

12: <title>Welcome To MyNote</title>
13: </head>
14: <body>
15: <s:form>
16: <s:textfield name="message" /><br>
17: <s:submit value="Submit" />
18: </s:form>


Stacktrace:] with root cause
java.lang.IllegalArgumentException: unknown reserved key '_typeConverter'
at ognl.OgnlContext.put(OgnlContext.java:536)
at ognl.Ognl.setTypeConverter(Ognl.java:346)
at com.opensymphony.xwork2.ognl.OgnlUtil.setProperties(OgnlUtil.java:164)
at com.opensymphony.xwork2.ognl.OgnlUtil.setProperties(OgnlUtil.java:147)
at com.opensymphony.xwork2.ognl.OgnlReflectionProvider.setProperties(OgnlReflectionProvider.java:49)
at com.opensymphony.xwork2.factory.DefaultValidatorFactory.buildValidator(DefaultValidatorFactory.java:30)
at com.opensymphony.xwork2.ObjectFactory.buildValidator(ObjectFactory.java:234)
at com.opensymphony.xwork2.validator.DefaultValidatorFileParser.parseValidatorDefinitions(DefaultValidatorFileParser.java:131)
at com.opensymphony.xwork2.validator.DefaultValidatorFactory.retrieveValidatorConfiguration(DefaultValidatorFactory.java:188)
at com.opensymphony.xwork2.validator.DefaultValidatorFactory.parseValidators(DefaultValidatorFactory.java:173)
at com.opensymphony.xwork2.validator.DefaultValidatorFactory.<init>(DefaultValidatorFactory.java:56)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:410)
at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:477)
at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:516)
at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:569)
at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:514)
at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)
at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:129)
at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:52)
at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:448)
at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:462)
at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:38)
at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:287)
at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:422)
at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:477)
at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:516)
at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:569)
at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:514)
at com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)
at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:129)
at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:52)
at com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:448)
at com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:462)
at com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:38)
at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:287)
at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:470)
at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:507)
at com.opensymphony.xwork2.inject.ContainerImpl$6.call(ContainerImpl.java:505)
at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:560)
at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:505)
at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:51)
at org.apache.jsp.index_jsp._jspx_meth_s_005fform_005f0(index_jsp.java:107)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:81)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:140)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
...全文
143 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
JSP页面信息: <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/struts-tags" prefix="s" %> <html> <head> <title>Welcome To MyNote</title> </head> <body> <s:form action="user" method="POST" namespace="/"> <s:textfield name="message" /><br> <s:submit value="Submit" /> </s:form> </body> </html> 尝试过裸<s:form>也会报错,也尝试过删除其他属性,都有问题。。。用普通的<form>不会有问题,标签库也能找到,就像其他的struts2标签是可以用的这就很奇怪了 为什么只有这个<s:form>有问题。
  • 打赏
  • 举报
回复
解决了,是因为我用的所有jar包都是最新的,然后就产生了莫名其妙的问题。我把各个jar包换成较低的稳定的jar后就解决了

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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