我有表格:
<form:form commandName="entity" role="form">
<myCustomTag path="field_id" />
</form:form>
如何在自定义标记中找出commandName是什么? (下面的MyCustomTag.tag文件)
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ attribute name="path" required="true" rtexprvalue="true"
description="Name of corresponding property in bean object"%>
<div class="form-group">
<form:label path="${path}"><spring:message code="mylabelformat_${what_to_put_here?}_${path}"/></form:label>
<form:input path="${path}" class="form-control" placeholder="${placeholder}" />
<form:errors class="invalid" path="${path}" />
</div>
答案 0 :(得分:0)
form
属性commandName
指的是模型属性(您可以使用等效的form
属性modelAttribute
)。由于模型属性只是呈现视图时的请求属性,因此entity
实际上只是一个请求属性。
在自定义标记中,只需获取
MyEntity entity = (MyEntity) request.getAttribute("entity");
答案 1 :(得分:0)
对于您的用例,您可以使用nestedPath
请求属性,该属性由<spring:form>
标记设置:
<spring:message code="mylabelformat_${nestedPath}${path}"/>
然后翻译代码(对于你的例子):
mylabelformat_entity.field_id