我正在开发一个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">
显示这样的标签???标题???。请帮忙解决这个问题。提前谢谢。
答案 0 :(得分:0)
正如您使用@PropertySource
一样,该@Configuration
课程不在@Controller
课程上。
要将JSP页面的所有标签作为属性文件的一部分并将其用作jsp页面的一部分,您需要按照以下步骤操作:
在spring-servlet.xml(spring配置文件)中配置属性文件。
<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>
并在应用程序文件中的键,值对中写入级别。
前:
msg.username=Username
msg.password=Password
在JSP页面
正如我在我们的应用程序中使用它的工作正常。