/ / Error "El uri absoluto: http://struts.apache.org/tags-html no se puede resolver en web.xml ni en los archivos jar desplegados con esta aplicación" - web.xml, struts-config, struts-1. X

Error "El uri absoluto: http://struts.apache.org/tags-html no se puede resolver en web.xml ni en los archivos jar desplegados con esta aplicación" - web.xml, struts-config, struts-1.x

Soy nuevo en Struts.i probé una aplicación struts1.x de ejemplo. Cuando la ejecuto, aparece un error.

El uri absoluto: http://struts.apache.org/tags-html No se puede resolver en ninguna de las dos webs.XML o los archivos jar desplegados con esta aplicación "mi página jsp tiene "<% @ taglib uri =" http://struts.apache.org/tags-html "prefix =" html "%> <% @ taglib uri = "http://struts.apache.org/tags-bean" prefix = "bean"%> "

página web:

<html>
<body>
<center>
<html:errors/>
<html:form action="login">
<bean:message key="label.uname"/>
:
<html:text property="uname"/>
<br>
<bean:message key="label.pwd"/>
:
<html:text property="pwd"/>
<br>
<html:submit value="LOGIN"/>
</html:form>
</center>
</body>
</html>

web.xml:

<web-app>
<servlet>
<servlet-name>Action</servlet-name>
<servlet-class>org.apache.struts.Action.ActionServlet</servlet-class>
<init-param>
<param-name>Config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>

Respuestas

1 para la respuesta № 1

Prueba esto

Incluir lo siguiente jar como dependencia [en WEB-INF/lib]

 struts-taglib.jar [any version, eg: struts-taglib-1.3.10.jar]

En la página JSP:

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>

Cómo funciona esto: la información del descriptor de la biblioteca de etiquetas [tld] se define dentro de "struts-taglib.jarMETA-INFtld"

Puedes echar un vistazo a la respuesta mencionada en esta publicación SO. Tengo un ejemplo corriendo allí No hay método getter para la propiedad ... error

Entonces puede tener el archivo jar como dependencia o agregar los descriptores de la biblioteca de etiquetas dentro de su WEB-INF, y configurar en web.xml

web.xml

<taglib>
<taglib-uri>
http://struts.apache.org/tags-bean
</taglib-uri>
<taglib-location>
/WEB-INF/struts-bean.tld
</taglib-location>
</taglib>
<taglib>
<taglib-uri>
http://struts.apache.org/tags-html
</taglib-uri>
<taglib-location>
/WEB-INF/struts-html.tld
</taglib-location>
</taglib>
<taglib>
<taglib-uri>
http://struts.apache.org/tags-logic
</taglib-uri>
<taglib-location>
/WEB-INF/struts-logic.tld
</taglib-location>
</taglib>

Hay un mapeo entre lo que configuras aquí y el taglib Se define en la página jsp. los @taglib uri en la página jsp tiene que coincidir con <taglib-uri> definido en web.xml

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>

1 para la respuesta № 2

Simplemente tienes que comprobar Añadir Struts TLDs Opción al crear proyecto. Como se muestra abajo en la captura de pantalla. Añadir Struts TLDs

Añadir Struts TLDs: Le permite generar descriptores de la biblioteca de etiquetas paralas bibliotecas de etiquetas Struts. Un descriptor de biblioteca de etiquetas es un documento XML que contiene información adicional sobre toda la biblioteca de etiquetas, así como cada etiqueta individual. En general, esto no es necesario, ya que puede hacer referencia a URI en línea en lugar de a archivos TLD locales.