使用struts2的<s>标签出错

15:org.apache.struts2.views.jsp.ActionTag 16:JSP 17:18:19:executeResult Server: Resin/3.1.4a Content-Type: text/html Transfer-Encoding: chunked Date: Sat, 30 Apr 2016 09:03:41 GMT 08d4

500 /dlepas/pw_licenseApplyCheck/countyCheck/auditSuccess.jsp:6: jar:file:/D:/dqz/resin-pro-3.1.4a/webapps/ROOT/WEB-INF/lib/struts2-core-2.3.15.3.jar!/META-INF/struts-tags.tld:17: java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo.(Ljava/lang/String;ZLjava/lang/String;ZZLjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)V 15: org.apache.struts2.views.jsp.ActionTag 16: JSP 17: 18: 19: executeResult

java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo
java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo.<init>(Ljava/lang/String;ZLjava/lang/String;ZZ)V
 org.apache.jasper.compiler.TagLibraryInfoImpl.createAttribute(TagLibraryInfoImpl.java:568)
 org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:401)
 org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)
 org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:162)
 org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418)
 org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
 org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539)
 org.apache.jasper.compiler.Parser.parse(Parser.java:126)
 org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
 org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
 org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:495)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:476)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:464)
 org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)

导致以上原因的是因为javax.servlet.jsp.tagext.TagAttributeInfo有冲突

当前classpath中有两个version的javax.servlet.jsp.tagext.TagAttributeInfo class,一个在servlet.jar另一个在jsp-api.jar中。 jsp-api.jar的那个是好用的,它只包含javax\servlet\jsp这个包,而servlet.jar中也包含它,同时包含servlet需要的关键包。所以在classpath中jsp-api.jar要比servlet.jar先被reference。

另外在jboss3.2.*之后的自己带的lib中已经将javax\servlet\jsp从servlet.jar中分开了,分别是javax.servlet.jar(jsp-api.jar)和javax.servlet.jsp.jar(serlvet-api.jar).

时间: 2024-12-06 08:42:45

使用struts2的<s>标签出错的相关文章

Struts2之控制标签

Struts2的控制标签,主要用于完成流程控制,以及对ValueStack中的控制,控制标签可以完成输出流程的控制,例如循环.分支等操作,也可以完成对集合的合并.排序等操作. 1.常用的控制标签有:if.elseif.else.iterator.append.merge.generator.subset.sort等. 下面分别对这些控制标签进行介绍,并介绍如何使用这些控制标签: (1).if.elseif.else标签:if标签用来控制基本的条件处理流程,通常和else标签或者elseif标签连

Struts2中datetimepicker标签

在以前的struts2版本中s:datetimepicker只需要在head标签处设置<s:head theme="ajax"/>,就可以直接使用s:datetimepicker的标签了.而在2.1.6版本中不能直接这样使用了,将datetimepicker移除了.原因是此标签调用了dojo的datetimepicker的库.所以现在使用的时候首先要导入一个库:struts2-dojo-plugin-2.1.6.jar.然后还要设置dojo的taglib<%@ tag

Struts2之数据标签(二)

Struts2之数据标签(一):http://blog.csdn.net/u012561176/article/details/46848817 1.action标签:使用此标签可以允许在JSP页面中直接调用Action,因为需要调用Action,故可以指定需要被调用Action的name以及namespace.如果指定了executeResult参数的属性值为true,该标签还会把Action的处理结果(视图支援)包含到本页面中来. (1).此标签的属性: - id:可选属性,该属性将会作为该

Struts2中UI标签之表单标签介绍

1.在Struts2中UI标签的表单标签分为两种:form标签本身和单个表单标签. 2.Struts2表单标签包括:form.textfield.password.radio.checkbox.checkboxlist.select.doubleselect.combobox.optiontransferselect.optgroup.updownselect.textarea.hidden.file.label.submit.token.head.datepicker.reset.richte

struts2 自定义tag标签

在项目中可能有很多相同的jsp页面表示功能,这时可以使用自定义的tag进行定义,渐少重复的工作量便于日后维护! 下面就基于struts2进行自定义标签的定义与实现: 首先:自定义类MyTag继承struts2的Component package cookielogin; import java.io.IOException; import java.io.Writer; import org.apache.struts2.components.Component; import com.open

Struts2 分割字符串标签s:generator

Struts2 分割字符串标签s:generator  有些时候会从后台返回一个字符串,可以通过Strut2的标签s:generator进行分割.   generator标签,该标签可以将指定字符串按指定分隔符分割成多个字串.生成的多个字串可以用iterator标签进行迭代输出.可以这么理解:generator标签将一个字符串转换成一个List集合.在该标签体内,整个临时生成的集合将为Valuestack的顶端,但一旦该标签结束,生成的集合将被移除Valuestack.generator标签有如

struts2之url标签详解

ognl标签里面有个url标签,该标签和jstl的url标签功能差不多. 不过ognl这个更方便. value值代表生成的url地址,var是个临时变量 <s:url value="/demo" var="url1"></s:url> 使用el表达式把该值打印出来. ${url1} 结果显示. /struts/demo 这里的struts代表项目名,/demo就是上面的value值. 这个是一个最简单的演示. 第二个: <s:url v

struts2 s:if标签以及 #,%{},%{#}的使用方法

<s:if>判断字符串的问题: 1.判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session中取出username的值,并且判断其是否为c,但是这样判断是不正确的,这样判断的话,根本判断不出来,要改成下面这样: <s:if test="#session.user.username=='c'.toString()"> 这样判断才能正确判断,至于原因我也不知道,在网上看到

使用Struts2的iterator标签遍历复杂的Map类型

1.创建一个Web工程,添加Struts2支持. 2.创建两个实体类: a). Mother(母亲)的Java类. package struts.map.entity; import java.io.Serializable; public class Mother implements Serializable { private static final long serialVersionUID = 1L; private int motherId;        //母亲ID priva