문제

리소스 번들 속성 파일이 있는 경우:

A.속성:

thekey={0} This is a test

그리고 리소스 번들을 로드하는 Java 코드가 있습니다.

ResourceBundle labels = ResourceBundle.getBundle("A", currentLocale);
labels.getString("thekey");

{0} 텍스트를 어떤 값으로 바꾸려면 어떻게 해야 합니까?

labels.getString("thekey", "Yes!!!");

출력은 다음과 같이 나옵니다.

Yes!!! This is a test.

이를 수행하기 위한 리소스 번들의 일부인 메서드는 없습니다.또한 저는 Struts에 있습니다. MessageProperties를 사용하여 교체를 수행할 수 있는 방법이 있습니까?

도움이 되었습니까?

해결책

찾고 있는 클래스는 java.text.MessageFormat입니다.구체적으로 전화

MessageFormat.format("{0} This {1} a test", new Object[] {"Yes!!!", "is"});

또는

MessageFormat.format("{0} This {1} a test", "Yes!!!", "is");

돌아올 것이다

"Yes!!! This is a test"

[안타깝게도 Struts 연결에 대해서는 도움을 드릴 수 없습니다. 이것 관련성이 있는 것 같습니다.]

다른 팁

수업이 있어요 org.apache.struts.util.MessageResources 다양한 getMessage 메소드를 사용하면 그 중 일부는 실제 메시지에 삽입하기 위해 인수를 사용합니다.

예:

messageResources.getMessage("thekey", "Yes!!!");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top