2012-02-14 72 views
0

我正在構建MVC CRUD應用程序。在JSP文件中我得到這個錯誤在eclipse中爲Spring MVC應用程序構建路徑相關的錯誤

The tag handler class for "fmt:message" 
    (org.apache.taglibs.standard.tag.rt.fmt.MessageTag) 
     was not found on the Java Build Path 

這是在該行我的JSP文件「FMT:消息」

<%@ include file="/WEB-INF/jsp/include.jsp" %> 
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 

<html> 
<head> 
    <title><fmt:message key="title"/></title> 
    <style> 
    .error { color: blue; } 
    </style> 
</head> 

<body> 
<h1><fmt:message key="addprod.heading"/></h1> 
<form:form method="post" commandName="addprod"> 
    <table width="95%" bgcolor="f8f8ff" border="0" cellspacing="0" cellpadding="5"> 
     <tr> 
     <td align="right" width="20%">Add a new Product: (Please enter ID for the new product) </td> 
     <td width="20%"> 
      <form:input path="productID"/> 
     </td> 

     <td width="60%"> 
      <form:errors path="productID" cssClass="error"/> 
     </td> 
    </tr> 
    <tr> 
     <td align="right" width="20%">Add a new Product: (Please enter name for the new product) </td> 
     <td width="20%"> 
      <form:input path="productname"/> 
     </td> 

     <td width="60%"> 
      <form:errors path="productname" cssClass="error"/> 
     </td> 
    </tr> 
     <tr> 
     <td align="right" width="20%">Add Price: (Specify price in number) </td> 
     <td width="20%"> 
      <form:input path="productprice"/> 
     </td> 

     <td width="60%"> 
      <form:errors path="productprice" cssClass="error"/> 
     </td> 
    </tr> 
    </table> 
    <br> 
    <input type="submit" align="center" value="Add"> 
</form:form> 
<a href="<c:url value="hello.htm"/>">Home</a> 
</body> 
</html> 

請指導我如何解決這個問題。我添加了所有相關的罐子,但完全無法理解錯誤。謝謝

回答

1

我看到兩個潛在的問題。

  1. 關於您所看到的特定的錯誤,你需要確保 適當的標籤庫是您的構建路徑上。在Eclipse中, 右鍵單擊您的項目並選擇「屬性」。在 彈出的對話框中,選擇「Java Build Path」。窗口應該顯示標籤 ,代表可以添加到 項目中的各種庫。其中一個選項卡應列出「JSTL」庫 - 我的 項目,例如,使用jstl-1.2.jar。如果在構建路徑中沒有看到 中的任何庫,則可能需要手動將它添加到 ,方法是將其複製到項目的外部庫文件夾中,然後手動將JAR添加到構建路徑。

    參見:http://wiki.eclipse.org/FAQ_How_do_I_add_an_extra_library_to_my_project%27s_classpath%3F瞭解更多信息。

  2. 將庫添加到構建路徑後,仍然需要 確保它包含的標記可用於您的特定 JSP。在你的榜樣,您有:

    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 
    

    這允許你使用Spring的form標籤庫在當前的JSP。我沒有看到爲fmt庫,我會希望看起來像一個類似的聲明:

    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
    

    這可能是因爲你已經得到了你的include.jsp文件;如果是的話,你應該沒問題。

希望這會有所幫助。

+0

@Palpatin謝謝你的友好和詳細的答案。我加了你告訴我在第一部分做的那個罐子。在第二部分中,我應該用<%@ taglib prefix =「fmt」uri =來替換<%@ taglib prefix =「form」uri =「http://www.springframework.org/tags/form」%> 「http://java.sun.com/jsp/jstl/fmt」%>'或保留兩者? – AbdulAziz 2012-02-14 13:38:34

+0

是的,我有我的include.jsp就像這樣'<%@ page session =「false」%> <%@ taglib prefix =「c」uri =「http://java.sun.com/jsp/ jstl/core「%> <%@ taglib prefix =」fmt「uri =」http://java.sun.com/jsp/jstl/fmt「%>' – AbdulAziz 2012-02-14 13:47:17

+0

點1不必要的過度複雜化。只需將JAR放入項目的'/ WEB-INF/lib'文件夾即可。而已。 Eclipse將自動執行構建路徑魔術。 – BalusC 2012-02-14 14:22:39