【问题标题】:How to reference a spring form input placeholder attribute value to a message source property?如何将弹簧表单输入占位符属性值引用到消息源属性?
【发布时间】:2016-02-24 13:52:00
【问题描述】:

是否可以在 spring-form:input 标签(spring form 标签库,用于数据绑定)中使用 spring:message 标签(spring 标签库)从 .properties 消息文件中检索消息。


src/main/resources > texts.properties(文件)

testEntry=Test entry

src/main/webapp/WIN-INF/JSP > test.jsp

如果我尝试这样做:

<%@taglib prefix='spring' uri='http://www.springframework.org/tags'%>
<%@taglib prefix='form' uri='http://www.springframework.org/tags/form'%>

<form:input path="test" placeholder='<spring:message code="testEntry">'/>

结果我得到&lt;spring:message code="testEntry"&gt; 作为占位符而不是Test entry


如果我尝试这样做:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix='spring' uri='http://www.springframework.org/tags'%>
<%@taglib prefix='form' uri='http://www.springframework.org/tags/form'%>

<c:set var="placeholder" value='<spring:message code="testEntry">'/>
<form:input path="test" placeholder='${placeholder}'/>

我得到相同的结果。我明白这个问题。但是在 JSP 中是否有另一种方法可以使带有适当代码的消息显示为 spring-form 标记的属性值?

【问题讨论】:

  • &lt;spring:message code="testEntry" var="placeholder" /&gt; 然后&lt;form:input path="test" placeholder='${placeholder}'/&gt;

标签: java spring jsp spring-form spring-messaging


【解决方案1】:

您可以使用message 标记的var 属性将解析的消息分配给命名变量。然后,您可以将该变量用作 EL 变量。

<spring:message code="testEntry" var="placeholder" />
<form:input path="test" placeholder='${placeholder}'/>

这会将 testEntry 的已解析消息分配给名为 placeholder 的变量,然后您可以在输入标签中使用该变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-09
    • 2016-05-15
    • 1970-01-01
    • 2011-09-17
    • 2011-05-13
    • 2012-01-19
    • 1970-01-01
    • 2018-12-22
    相关资源
    最近更新 更多