2014-01-24 34 views
2

我是新的Struts.i已嘗試過一個示例struts1.x application.when我運行它,它給出了一個錯誤錯誤「絕對URI:http://struts.apache.org/tags-html不能解決在任何web.xml或與此應用程序部署的jar文件」

絕對URI:http://struts.apache.org/tags-html不能在web.xml或部署該應用程序的jar文件來解決」我的JSP頁面 '<% @taglib uri =「http://struts.apache.org/tags-html」prefix =「html」%> <%@ taglib uri =「http://struts.apache.org/tags-bean」prefix = 「bean」%>'

網頁:

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

回答

1

試試這個

包括以下jar的依賴性[中WEB-INF/lib]

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

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

這是如何工作:標籤庫描述符[TLD]信息的內部規定「的struts-taglib.jar \ META-INF \ TLD」

你可以看看提到的答案在這個SO職位。我有一個運行的例子有 No getter method for property... error

因此,要麼你可以有jar文件的依賴或者加入你的WEB-INF裏的標籤庫描述符,並在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> 

您在此處配置的內容與您在jsp頁面中定義的taglib之間存在映射關係。 在JSP頁面中的@taglib uri必須匹配定義<taglib-uri>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

只要你必須檢查加入Struts的頂級域名選項在創建項目。如屏幕截圖所示。 Add Struts TLDs

添加Struts的頂級域名:允許您生成Struts標記庫的標記庫描述符。標籤庫描述符是一個XML文檔,其中包含有關整個標籤庫以及每個標籤的附加信息。通常這不是必需的,因爲您可以參考聯機URI而不是本地TLD文件。

相關問題