2016-07-29 3 views
0

Я пытаюсь добавить CSS и JS на JSP страницы в spring MVC проекте, чтобы я включил ссылку на js/css папки в dispatcher-servlet.xml, как показано ниже:Приставка «бобы» для элемента «бобов: бобы» не связана

<?xml version="1.0" encoding="UTF-8"?> 
<beans:beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> 


    <context:annotation-config /> 
    <context:component-scan base-package="com.asurion" /> 

    <resources mapping="/js/**" location="/js/" /> 
    <resources mapping="/css/**" location="/css/" /> 

    <beans:bean 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix"> 
      <value>/WEB-INF/jsp/</value> 
     </property> 
     <property name="suffix"> 
      <value>.jsp</value> 
     </property> 
    </beans:bean> 

    <beans:bean id="messageSource" 
     class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
     <property name="basename" value="classpath:messages" /> 
     <property name="defaultEncoding" value="UTF-8" /> 
    </beans:bean> 
    <beans:bean id="propertyConfigurer" 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" 
     p:location="/WEB-INF/jdbc.properties" /> 

    <beans:bean id="dataSource" 
     class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" 
     p:driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
     p:url="jdbc:sqlserver://localhost:1433;DataBaseName=test" p:username="test" 
     p:password="test" /> 


    <beans:bean id="sessionFactory" 
     class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="configLocation"> 
      <value>classpath:hibernate.cfg.xml</value> 
     </property> 
     <property name="configurationClass"> 
      <value>org.hibernate.cfg.AnnotationConfiguration</value> 
     </property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">com.asurion.dialect.SQlServerDBDialect</prop> 
       <prop key="hibernate.show_sql">true</prop> 
      </props> 
     </property> 
    </beans:bean> 

    <beans:bean id="reportDAO" class="com.asurion.dao.ReportDaoImpl"></beans:bean> 
    <beans:bean id="reportManager" class="com.asurion.service.ReportManagerImpl"></beans:bean> 

    <tx:annotation-driven /> 
    <beans:bean id="transactionManager" 
     class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </beans:bean> 

</beans:beans> 

Но он показывает «Префикс» beans «для элемента» beans: beans «не связан» в самом конфигурационном файле весны, так что может кто-нибудь помочь мне в этом?

+0

Удалить префикс beans для корневого элемента –

+0

Заменить 'beans: beans' на' beans' должен работать. –

ответ

6

Посмотрите на вашем объявлении элемента корня - вы не указали пространство имен для префиксов mvc, xsi, context, p и tx, но ничего для beans. Вы создали "http://www.springframework.org/schema/beans" пространство имен по умолчанию, но вы не указали его псевдоним beans.

Простейшим решением здесь является, возможно, просто выполнить поиск и заменить, чтобы удалить beans: из всего файла - просто укажите по умолчанию его работу.

В качестве альтернативы, это изменить:

xmlns="http://www.springframework.org/schema/beans" 

в

xmlns:beans="http://www.springframework.org/schema/beans" 

..., а затем проверить каждый элемент, который не имеет явного префикса пространства имен, чтобы увидеть ли вы на самом деле означает, что она beans. Например, рассмотрит:

<resources mapping="/js/**" location="/js/" /> 

Если вы используете явные пространства имен, что, вероятно, должно быть

<beans:resources mapping="/js/**" location="/js/" /> 

Хотя это звучит, как он должен на самом деле быть

<mvc:resources mapping="/js/**" location="/js/" /> 

Это в пространство имен bean-компонентов по умолчанию на данный момент, но смесь дефолта и использования префикса beans: очень запутанна ...

+0

Я удалил

+0

@tanajimane: Ну, это звучит как другая проблема. Вы уверены, что это не означает 'mvc'? –

+0

Бог! Я пропустил это ... Это ответ на мой вопрос. Спасибо большое –

Смежные вопросы