2013-12-21 75 views
0

我有形式:如何獲得當前彈簧形式的會話bean

 <form:form commandName="entity" role="form"> 
     <myCustomTag path="field_id" /> 
    </form:form> 

我怎麼能找出什麼是命令名我的自定義標籤裏面? (以下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

檢查'nestedPath'請求屬性(並使用''標籤以獲得模型對象屬性)。 –

+0

嗯什麼是春天:綁定然後找出單詞「實體」?用$ {status.expression}我可以得到單個字段名稱。 – GintsGints

+0

我不明白評論問題。 :( –

回答

0

您的使用情況,您可以使用nestedPath請求屬性,它是由<spring:form>標籤設置:

<spring:message code="mylabelformat_${nestedPath}${path}"/> 

翻譯代碼然後(對於你的例子):

mylabelformat_entity.field_id 
0

form屬性commandName指的是一個模型屬性(你可以使用等效form屬性modelAttribute)。由於模型屬性只是呈現視圖時的請求屬性,因此entity實際上只是一個請求屬性。

在您的自定義標籤,只是把它

MyEntity entity = (MyEntity) request.getAttribute("entity"); 
+0

我可以參考這個莫名其妙的.TAG文件?我還不如就我所知加入我的示例文件的問題後。 – GintsGints

+0

@ user3102259。 –