微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Struts 1.3中找不到文件“ / struts-tags”

如何解决在Struts 1.3中找不到文件“ / struts-tags”

|| 我在jsp的
logic:iterate
中编写了条件
if else
标记,如下所示:
<s:if test=\"%{#status==\'Scheduling\'}\">
<td><input type=\"button\" name=\"Save\" enabled=\"enabled\" value=\"View Log\" class=\"Button\" onclick=\"javascript:update(\'<bean:write  name=\"test\" property=\"listName\" />\',\'<bean:write name=\"test\" property=\"testType\" />\',<bean:write  name=\"test\" property=\"status\" />,this.value)\"></td>
</s:if>

<s:elseif test=\"%{#status==\'Running\'}\">
<td><input type=\"button\" name=\"Save\" enabled=\"enabled\" value=\"View Log\" class=\"Button\" onclick=\"javascript:update(\'<bean:write  name=\"test\" property=\"listName\" />\',this.value)\"></td>                
</s:elseif>

<s:else>
<td><input type=\"button\" name=\"Save\" disabled=\"disabled\" value=\"View Log\" class=\"Button\" onclick=\"javascript:update(\'<bean:write  name=\"test\" property=\"listName\" />\',this.value)\"></td>                   
</s:else> 
我在jsp文件的开头定义了一个“ 3”,如下所示:
<%@page contentType=\"text/html\" pageEncoding=\"UTF-8\"%>
<%@taglib uri=\"/WEB-INF/struts-html.tld\" prefix=\"html\" %>
<%@taglib uri=\"/WEB-INF/struts-logic.tld\" prefix=\"logic\" %>
<%@taglib uri=\"/WEB-INF/struts-bean.tld\" prefix=\"bean\" %>
<%@taglib prefix=\"s\" uri=\"/struts-tags\" %> 
当我打开jsp文件时,出现以下错误。您能帮我解决这个问题吗?
org.apache.jasper.JasperException: File \"/struts-tags\" not found
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
    org.apache.jasper.compiler.Errordispatcher.dispatch(Errordispatcher.java:409)
    org.apache.jasper.compiler.Errordispatcher.jspError(Errordispatcher.java:116)
    org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:160)
    org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:429)
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1439)
    org.apache.jasper.compiler.Parser.parse(Parser.java:137)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:170)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
    org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    

解决方法

        您正在将Struts 1.3标记与Struts 2标记混合。为了编译您的taglib声明
<%@ taglib prefix=\"s\" uri=\"/struts-tags\" %>
,必须在
WEB-INF\\lib
文件夹中包含
struts2-core-2.1.6.jar
(撰写本文时的最新jar),在(struts2-core-2.1.6.jar \\ META-INF下可以找到Struts 2
struts-tags.tld
。 \\ struts-tags.tld)。 请记住,Struts 2永远不会向后兼容Struts 1,因为它是一种全新的体系结构,Apache从Struts 1开始采用了新的方向。 我建议使用JSTL而不是使用Struts 2 taglib定义,因为Struts 1.3可以很好地与JSTL一起使用。     ,        在部署描述符(即web.xml)中,应声明以下内容。 (请记住,您的taglib位置中有tld文件)
   <jsp-config>
     <taglib>
       <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
       <taglib-location>/WEB-INF/tlds/struts-html.tld</taglib-location>
     </taglib>
   </jsp-config>
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。