带有多个参数的spring消息标记

Geo*_*Sun 33 java spring jsp jstl

我想获得如下的i18n消息:

messageCode = {0}和{1}以及{2}的测试消息.

在jsp中,我有这个:

<spring:message code="messageCode" 
                arguments="${value1},${value2},${value3}" 
                htmlEscape="false"/>
Run Code Online (Sandbox Code Playgroud)

论点:

value1=A,B
value2=C,D
value3=E,F
Run Code Online (Sandbox Code Playgroud)

我想要的输出:

Test message for A,B and C,D and E,F 
Run Code Online (Sandbox Code Playgroud)

实际输出:

Test message for A and B and C
Run Code Online (Sandbox Code Playgroud)

有没有办法克服这个问题?谢谢.

乔治

Ral*_*lph 59

问题的原因是,(逗号)是默认分隔符.因此,最后spring消息标记将获取String A,B,C,D,E,Ffor参数arguments,并将该字符串拆分为6个不同的内部参数.

您必须更改分隔符.如果您使用;例如,那么它将起作用.

<spring:message code="messageCode"
       arguments="${value1};${value2};${value3}"
       htmlEscape="false"
       argumentSeparator=";"/>
Run Code Online (Sandbox Code Playgroud)

@See Spring参考:附录F.6消息标记