我的环境变量是通过spring profile管理的,我有一个包含以下条目的xml……
<context:property-placeholder location="classpath:/properties/app_config_${spring.profiles.active:dev}.properties" />在文件app_config_dev.properties文件中,我有以下条目: otherApp.baseurl=devEnvt.mainApp.com.au
在后端,我有一个Service对象,该变量由@Value注释,以利用spring通过应用程序部署在其中的属性文件(可以是dev、staging或prod)获取值。
@Service
@Slf4j
public class AppService {
@Value("${otherApp.baseurl:https://test..}")
private String baseUrl;
}在前端,我有这个index.jsp,它基本上只是重定向到一个url。
<%
Account acc = Account.getAccount(session);
String url = request.getScheme() + "://" + "url_value_from_environment_aware_property_file" + "/reset";//url_value_from_environment_aware_property_file should be equal to otherApp.baseurl
if (acc != null){
JSPUtil.contentInclude(pageContext, "error_loggedin.jsp");
}else{
response.sendRedirect(url);
}
%>我的问题是,鉴于我这里有一个非常基本的jsp,我如何访问由Spring管理的环境感知变量?
发布于 2017-11-08 14:45:55
我们按照给定的here在服务器启动时使用ServletContextListener加载属性文件。
我们已经定义了context-param来激活web应用程序的配置文件。
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>web,jpa</param-value>
</context-param>https://stackoverflow.com/questions/47172848
复制相似问题