배경Java : 런타임시 데이터베이스의 속성을 ResourceBundle에 추가하려면 어떻게합니까?
내가 메이븐을 사용하여 Java 웹 응용 프로그램을 개발하고있다. 이 경로와 형식으로 ResourceBundles를 만들었습니다 : src/main/resources/i18n/LanguageBundle_xx_XX.properties.
모든 것이 완벽하게 작동하며 모든 것이 프런트 엔드에서 작동합니다 (JSTL 사용).
문제
다음 형식으로 MySQL 데이터베이스에 저장되어있는 프론트 엔드에서, 키/값 쌍을 만들 수있는 사용자 : KEY | VALUE
사용자에게 첫 번째 JSP 페이지를 가져 오기 전에 모든 설정을 수행하는 초기화 서블릿이 있습니다.
서블릿을 초기화 할 때 데이터베이스에서 모든 KEY/VALUE 쌍을 얻었으나 이제는이를 언어 번들에 추가하여 첫 번째 JSP 페이지가 표시 될 때 번역이 준비되도록합니다.
지금까지 시도했다 :
- 는 DB
- 순회에서 모든 키/값 쌍을 반환 KEY는
- LanguageBundle_xx_XX에 존재하지 않는 경우 값은
- 을 반환 KEY/VALUE에 속성을 추가합니다. put ("KEY", "VALUE")
이제는 속성을 추가하지만 해당 범위 외부의 특정 속성 (예 : 다른 서블릿, JSP)에 액세스하려고 시도하면 특정 .properties 파일에 존재하지 않으므로 실패합니다.
어떻게이 문제를 해결할 수 있습니까?
지금까지 작성한 것은 ResourceBundle이 아니라 특성 파일입니다. * Object * 인 ResourceBundle을 만드는 다양한 방법을 조사해야합니다. – EJP
나는 @EJP 생각에 약간의 장점이있다. 나는 똑같이했다. 문제는 속성 파일이 아니며 파일에서 읽는 것뿐만 아니라 데이터베이스에서도 읽을 수 있도록 resourcebundle을 만드는 것이 문제입니다. http://stackoverflow.com/questions/2451049/do-resource-bundles-in-java-support-runtime-string-substitution을 참조하십시오. –