我有这个HTML代码:
<td style="padding:1%; " width="80%"><form:textarea name="reference" path="" placeholder="insert_word" width="100%" /></td>
我想从language.properties文件中获取占位符字, 我有文件langueage.properties:
insert_word=add your word here!
如何使用<fmt:message>
标记执行此操作;
我已经在我的html代码的开头添加了这些行:
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<fmt:setBundle basename="language" />
当我将<fmt:message>
标记放在&#34;值&#34;中时,它工作正常,
但是在占位符内部我收到了一些错误:
<td style="padding:1%; " width="80%"><form:textarea name="reference" path="" placeholder=<fmt:message key="insert_word" /> width="100%" /></td>
错误:
org.apache.jasper.JasperException: /WEB-INF/views/ContactForm.jsp (line: 188, column: 98) quote symbol expected
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:89)
org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:224)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:162)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:153)
org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1229)
.........
如果我添加一些qoute(&#34;&#34; /&#39;&#39;)我会在这里添加这一行:
"<fmt:message key="insert_word" />"
不是insert_word的翻译。
我能做什么?
答案 0 :(得分:1)
您不能在另一个JSP标记的属性中使用JSP标记。
但你可以使用变量:
<%-- translate the message key and store it in a variable --%>
<fmt:message key="insert_word" var="insertTranslation" />
<%-- use it as placeholder of textarea --%>
<form:textarea name="reference" path="" placeholder="${insertTranslation}" width="100%" />