Spring EL (SpEL) 替换属性文件中的占位符?
Spring EL (SpEL) to replace placeholders from properties file?
我正在使用 Spring Boot and SpEL (Expression Language)
。我想在 message.properties 文件中创建 placeholder 以便可以替换值并将其发送到 UI.
message.properties
not.found={0} not found
代码:
@Override
@Transactional
public void deleteEmployee(String employeeId) {
int deletedCnt = employeeRepository.deleteEmployee(Integer.valueOf(employeeId));
if(deletedCnt == 0 )
throw new ResourceNotFoundException(env.getProperty("not.found"));
}
这里我想显示找不到EmployeeId(比如说123)
您的 not.found
属性 下的值只不过是 String
,因此您可以对该字符串执行任何操作。
例如
not.found = Employee with id %s not found
并根据需要在您的服务中处理此消息。
throw new ResourceNotFoundException(String.format(env.getProperty("not.found"), employeeId));
此外,您可以访问配置中的其他属性和环境变量。
default.message = Exception occurred:
not.found = ${default.message} ${ENVIRONMENT_VARIABLE}
我正在使用 Spring Boot and SpEL (Expression Language)
。我想在 message.properties 文件中创建 placeholder 以便可以替换值并将其发送到 UI.
message.properties
not.found={0} not found
代码:
@Override
@Transactional
public void deleteEmployee(String employeeId) {
int deletedCnt = employeeRepository.deleteEmployee(Integer.valueOf(employeeId));
if(deletedCnt == 0 )
throw new ResourceNotFoundException(env.getProperty("not.found"));
}
这里我想显示找不到EmployeeId(比如说123)
您的 not.found
属性 下的值只不过是 String
,因此您可以对该字符串执行任何操作。
例如
not.found = Employee with id %s not found
并根据需要在您的服务中处理此消息。
throw new ResourceNotFoundException(String.format(env.getProperty("not.found"), employeeId));
此外,您可以访问配置中的其他属性和环境变量。
default.message = Exception occurred:
not.found = ${default.message} ${ENVIRONMENT_VARIABLE}