2011-06-14 13 views
5

me escribió una if else código condicional dentro de un logic:iterate en JSP de la siguiente manera: -Archivo "/ struts-tags" no se encuentra en Struts 1.3

<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" />','<bean:write name="test" property="testType" />',<bean:write name="test" property="status" />,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" />','<bean:write name="test" property="testType" />',<bean:write name="test" property="status" />,this.value)"></td>     
</s:else> 

que define un <%@taglib prefix="s" uri="/struts-tags" %> en el principio del archivo JSP como se muestra a continuación: -

<%@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" %> 

Cuando abro el archivo jsp recibo los siguientes errores. ¿Podrías ayudarme a resolver esto?

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) 

Respuesta

0

en su descriptor de despliegue, que es web.xml, debe tener algo como lo siguiente declarado. (Recuerde que debe tener los archivos TLD en su que taglib-location)

<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> 
+0

su ya declarada, pero estoy consiguiendo el mismo tema –

4

Usted está mezclando los puntales 1.3 etiquetas con los puntales 2 etiquetas. Para que se compile su declaración de taglib <%@ taglib prefix="s" uri="/struts-tags" %>, debe incluir struts2-core-2.1.6.jar (último jar en el momento de la escritura) en su carpeta WEB-INF\lib, Struts 2 struts-tags.tld se encuentra en (struts2-core-2.1.6.jar \ META-INF \ struts-tags.tld).

tener en cuenta que Struts 2 es Nunca compatible con Struts1 ya que es una arquitectura completamente nueva de Apache ha tomado una nueva dirección de Struts 1.

sugiere emplear JSTL en lugar de usar Struts 2 definiciones taglib como Struts 1.3 funciona bien con JSTL.

+0

im usando puntales 1.3 solamente, no quiero trabajar con puntales 2, podría sugerir el código de JSTL en este contexto. –

+0

@ user756993, puede utilizar la etiqueta '' o etiquetas '' ('' & '' ) para los flujos de su etiqueta condicional. –

Cuestiones relacionadas