我有几个与我的应用程序配置相关的属性,我想放在一个文件中,以便集中配置。其他人将使用和修改此应用程序的源代码,因此我尝试通过提供单个配置点使其尽可能简单。
我知道如何使用MyComponentName.properties
文件来自定义组件错误消息,L10N等。但我正在尝试为通常不显示字符串的内容提供配置。一些例子:
我的Application.java
会从global.properties
(或其他)加载这些属性,并在初始时将相应的配置移交给我的各个类。我当然可以手动加载文件,但我想知道在Wicket中是否还没有这种支持。
将这些放入web.xml
会更好吗?
答案 0 :(得分:2)
我使用了两种方法。
第一种方法,使用web.xml和wicket应用程序init参数:
<filter>
<filter-name>WicketApp</filter-name>
<filter-class>
org.apache.wicket.protocol.http.WicketFilter
</filter-class>
<init-param>
<param-name>applicationFactoryClassName</param-name>
<param-value>
org.apache.wicket.spring.SpringWebApplicationFactory
</param-value>
</init-param>
<init-param>
<param-name>param1</param-name>
<param-value>xxx.xxx.xxx.xxx</param-value>
</init-param>
<init-param>
<param-name>param2</param-name>
<param-value>Hello</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>WicketApp</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
您可以使用以下方式访问它们:
MyApplication.get().getInitParameter("param1")
第二种方法,如果你使用Spring,你可以使用applicationContext.xml来参数化你的bean:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="mail.xxx.com"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.sendpartial">true</prop>
</props>
</property>
</bean>