簡體   English   中英

無法在JSP中讀取屬性文件

[英]Can't read properties file in JSP

以下JUnit測試正在我的應用程序中工作:

@Test
public void testMessageResources(){
    final InputStream stream = getClass().
        getResourceAsStream("/com/service/MessageResources.properties");
    Assert.assertNotNull(stream);
}

但是在我的JSP中,我無法使用以下代碼讀取文件:

<%
    final InputStream resourceAsStream = application.
        getResourceAsStream("/com/service/MessageResources.properties");
%>

resourceAsStream始終為null 我正在使用JSP 2.1。


MessageResources.properties文件位於類路徑中,但不在 JSP目錄中。 那是問題嗎?

JSP使用ServletContext.getResourceAsStream() ,它與Class.getResourceAsStream() 它不搜索類路徑中的資源。 如果要使用Class.getResourceAsStream() ,則使用Class.getResourceAsStream() 它也適用於Java EE環境。 只需確保使用從您要用於加載屬性文件的類加載器中加載的類。

但是,這樣的方法調用不應該在JSP中完成,而應該在Servlet或JSP中執行。 應該使用JSP來生成標記。

getClass()。getResourceAsStream()搜索類路徑中的文件,而application.getResourceAsStream直接在Web應用程序中查找資源。 所以目錄'com'應該在你的web應用程序內,而不是在類路徑中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM