我有一个JSP的Servlet项目,我做了一个i18n
。我的resources.properties
文件位于src/main/resources/
,所有文件都在我的电脑上工作(Windows 10)。我提交了更新到git,我的朋友拿了它,但它无法正常工作。资源包似乎找不到。他有变量名称而不是值。
在JSP中我做:在顶部<fmt:setBundle basename="resources"/>
(资源是包名称),每个值替换为<fmt:message key="leftbar.librarian"/>
当我想从JSP更改语言我做:
<c:choose>
<c:when test="${cookie.get('language').value == 'ru'}">
<fmt:setLocale value='ru' scope="session"/>
</c:when>
<c:otherwise>
<fmt:setLocale value='en' scope="session"/>
</c:otherwise>
</c:choose>
<fmt:setBundle basename="resources"/>
并通过JS我点击按钮设置cookie。这一切都在我的电脑上工作。在另外三台PC上没有加载捆绑(但没有错误)。
那么,我应该如何在Java中定义bundle,以便其他人可以得到它呢?
附:我没有使用Java代码来配置它。全部在JSP中。但如果我错了,准备好重构。
解决了。 Tomcat未从/ resources路径找到资源。所以我不得不将bundle移动到root。现在项目开始在所有PC上