2012-02-14 70 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