fmt标记的问题

Ali*_*oub 4 jsp jstl spring-mvc

我目前正在开发一个spring项目,我不得不在JSP中使用fmt标签.事实上,fmt标签对我来说很好,它从messages.properties文件中读取正确的值.

例如:

<fmt:message key="General.Settings"/>
Run Code Online (Sandbox Code Playgroud)

.properties文件中:

General.Settings=Settings
Run Code Online (Sandbox Code Playgroud)

它读起来很完美.

现在,将fmt标记放在另一个JSTL标记中时存在问题.

例如:

<input name="commit" value= <fmt:message key="AllMessages.PostThisMessage"/>
                    type="submit" onclick="return isEmpty();" />
Run Code Online (Sandbox Code Playgroud)

内部.properties文件:

AllMessages.PostThisMessage=Post this message
Run Code Online (Sandbox Code Playgroud)

但它只显示"发布"而不是"发布此消息"

与其他JSTL标记内的所有其他fmt标记相同.

有什么建议?

ska*_*man 17

不要像这样嵌套你的标签,它容易混淆和容易出错.最好做这种事情:

<fmt:message key="AllMessages.PostThisMessage" var="myMessage"/>
<input name="commit" value="${myMessage}" type="submit" onclick="return isEmpty();" />
Run Code Online (Sandbox Code Playgroud)

如果你真的使用这种语法:

value= <fmt:message key="AllMessages.PostThisMessage"/>
Run Code Online (Sandbox Code Playgroud)

然后,这是一个奇迹,它会产生无效的HTML.