使用 global-messages.properties 和 Struts2 label 标记

Use global-messages.properties with Struts2 label tag

通常我使用 HTML 标签来标记我的字段,如下所示

<div class="col-sm-2 col-xs-12">
    <label class="pull-right">
        <s:text name="fax"></s:text>:
    </label>
</div>
<div class="col-sm-3 col-xs-12 text-left">
    <s:property value="organizationInfo.fax"/>
</div>  

其中 faxglobal-messages.properties 文件中定义。但是我需要在 <s:iterator> 中使用 Struts2 <s:label> 这样每个标签都有一个唯一的 ID 来连接到每个字段。我尝试了几种方法,包括以下

<s:iterator value="chosenShipperViewList" status="status">
    <div class="col-sm-2 col-xs-12 ">
        <s:label for="%{'deleteShipper'+#status.index}" class="pull-right">
            <s:text name="deleteShipperInfo"></s:text>:
        </s:label>
    </div>
    <div class="col-sm-3 col-xs-12 text-left">
        <s:url var="deleteLink" action="shipment_deleteShipperFromChosenShipperViewList">
        <s:param name="shipperName" value="%{organizationInfo.orgName}"></s:param>
            <s:param name="typeOfShipmentId" value="typeOfShipmentId"></s:param>
        </s:url>
        <s:a id="%{'deleteShipper'+#status.index}" href="%{deleteLink}"> 
            <img src="/llr/theme/delete.gif" width="16" height="16" alt="Map Red X" >
        </s:a>
    </div>
</s:iterator>

我永远无法让 Struts 使用 global-messages.properties 文件中的标签值生成 HTML label。任何帮助,将不胜感激!

使用标准 HTML 标签:

<label for='<s:property value="%{'deleteShipper'+#status.index}" />' class="pull-right">
    <s:text name="deleteShipperInfo"></s:text>:
</label>

或删除 <s:text> 并使用 key:

<s:label key="deleteShipperInfo" for="%{'deleteShipper'+#status.index}" class="pull-right" />