2012-03-29 11 views
1

我正在使用JSF并且已经制作了一个用于动态加载图像的自定义servlet。如何加载servlet中的资源包(JSF)

我希望此servlet从资源束中拾取我的图像文件夹位置,即“F:\ photos \ images \”。我如何访问在我的faces-config中定义的资源包? 我不想硬编码在servlet这个值:/

+0

这种配置设置不应该放在资源包文件(用于本地化)中,而应放在通过'java.util.Properties'加载的普通属性文件中。 – BalusC 2012-03-29 12:58:33

+0

我同意BalusC,这是我的另一点,资源是用于本地化,但都在applicationScope加载。其实是遵循公约的问题。谢谢!将改变它,但 – Akshat 2012-03-29 14:02:54

回答

3

比方说,你有这样定义的资源包:

<resource-bundle> 
    <base-name>/resources/bundle</base-name> 
    <var>bundle</var> 
</resource-bundle> 

在Java中,你可以访问此属性文件是这样的:

import java.util.ResourceBundle; 
... 
ResourceBundle rb = ResourceBundle.getBundle("/resources/bundle"); 
String val = config.getString(key); 
+0

谢谢你马特。这会做到这一点......但只是好奇......可以像上面那样再次加载resourceBundle吗?我的意思是它们是applicationScoped并且已经在服务器启动时加载了吗? – Akshat 2012-03-29 08:46:30

+0

@AKSHAT:我会将它加载到应用程序范围的bean中,然后将其注入到需要的所有位置。 – 2012-03-29 08:48:23

+0

有道理。保持简单。谢谢! – Akshat 2012-03-29 08:53:43