使用Spring MVC

时间:2017-08-24 13:15:35

标签: java spring jsp spring-mvc

我正在开发一个Spring MVC appliation设计多层Controller --->服务---->型号----> DAO课程。我的要求是将JSP页面的所有标签作为属性文件的一部分,并将其用作我的jsp页面的一部分。

我创建了一个名为com的文件夹 - > mytest - >测试 - >资源 - > ApplicationResources.properties文件。作为我的Controller Iam的一部分使用如下:

 @PropertySource("/com/mytest/test/resources/ApplicationResources.properties")
 @Controller
 public class CreateController {

我的问题是无法加载此文件,因此我将其添加为Java构建路径的一部分。然后它停止生成资源文件夹作为WEB-INF / classes文件夹的一部分。我的问题仍然存在以下例外:

 Failed to load bean class: com.mytest.test.controller.CreateController; nested exception is java.io.FileNotFoundException: class path resource [com/mytest/test/resources/ApplicationResources.properties] cannot be opened because it does not exist

即使我从Controller中删除它并使用它作为我的jsp的一部分提出问题:

 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
 <fmt:bundle basename="com.mytest.test.resources.ApplicationResources">

显示这样的标签???标题???。请帮忙解决这个问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

正如您使用@PropertySource一样,该@Configuration课程不在@Controller课程上。

要将JSP页面的所有标签作为属性文件的一部分并将其用作jsp页面的一部分,您需要按照以下步骤操作:

  1. 在spring-servlet.xml(spring配置文件)中配置属性文件。

  2. <bean id="messageSource"
            class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
            <property name="basenames">
                <list>
                    <value>classpath:application</value>
                </list>
            </property>
            <property name="defaultEncoding" value="UTF-8"></property>
        </bean>
    
    1. 将属性文件放在classpath(src / main / resources文件夹)中。
    2. 并在应用程序文件中的键,值对中写入级别。

      前:

      msg.username=Username
      msg.password=Password
      
      1. 在JSP页面

                                                                                           
      2. 正如我在我们的应用程序中使用它的工作正常。