使用Sitemesh时在JSP中未检测到taglib

时间:2013-09-20 03:52:04

标签: jsp spring-mvc sitemesh

通常这就是我创建JSP文件的方式

<html>
 <head>
  <%@ include file="initDirectives.jsp"%>
  <%@ include file="header-site.jsp"%>
  <title><spring:message code="menu.about.us" /></title>
 </head>
 <body>
      aboutttttttt.
 </body>
</html>

我希望能够在我的页面上删除包含我的JSP文件的内容,包括:

  1. initDirectives.jsp包含类似<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>等代码的
  2. header-site.jsp,其中包含我页面上菜单链接的标题
  3. 配置Sitemesh配置后,我创建了default.jsp,如下所示

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@ taglib prefix="decorator"
        uri="http://www.opensymphony.com/sitemesh/decorator"%>
    <!DOCTYPE html>
    <html>
    <head>
    <%@ include file="../views/initDirectives.jsp"%>
    <%@ include file="../views/header-site.jsp"%>
    <title><decorator:title default="DNA G2" /></title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <decorator:head />
    </head>
    <body>
        <div class="container clear-top">
            <decorator:body />
            <br>
            <div id="footer">
                <div class="container">
                    <p class="muted credit">© 2013 DNA G2. All Rights Reserved.</p>
                </div>
            </div>
        </div>
    </body>
    </html>
    

    最后,这是我的JSP页面包含的内容

    <head>
    <title><spring:message code="menu.about.us" /></title>
    </head>
    <body>aboutttttttt.
    </body>
    

    问题是spring:message标签不再被识别。我在这里想念的是什么?

2 个答案:

答案 0 :(得分:0)

要使用spring:消息,您的项目必须在applicationContext.xml中包含以下bean:

<bean id="messageSource"  
        class="org.springframework.context.support.ResourceBundleMessageSource">  
    <property name="basename" value="messages"/>  
  </bean> 

(您的消息现在将存储在名为:messages_en.properties(英语),messages_lt.properties(立陶宛语)等)的文件中。)

然后确保您的JSP页面包含Spring的taglib(从我的项目中获取的示例):

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


<html>
<head>
.....

将spring-core JAR添加到您的项目中。

或者您也可以查看本教程:http://www.mkyong.com/spring-mvc/spring-mvc-internationalization-example/

希望这会有所帮助:)

答案 1 :(得分:0)

尝试在default.jsp。{/ p>中移动<html>之前的taglib include语句