在支柱2中显示表格标签

时间:2013-01-09 17:39:05

标签: struts2

<display:table export="true"  id="data" name="${sessionScope.forbesList}"requestURI="">


                <a href="#" rel="tooltip" content="<span>

                        Name:<s:property value="#data.rank" /><br/>
                        Email: <a><s:property value="#data.name" /></a><br/>
                        Phone:<s:property value="#data.age" /> </span>">   <display:column property="rank" title="Rank" sortable="true"   /></a>
        <display:column property="name" title="Name" sortable="true"  />
        <display:column property="age" title="Age" sortable="true"  />

    </display:table>

在Struts 2中,我尝试在<s:property>标记内使用<display :column>标记,但我只能看到<display:column>值,而不能看到我使用<s:property>访问的值。怎么做?

1 个答案:

答案 0 :(得分:0)

#1:锚点(<A>)标记没有任何content属性。

请参阅the documentation,了解它支持哪些属性以及如何使用它们。


#2:在HTML中,将字符"放入标记的属性时,您可以:

  • "替换为',例如
    • myAttribute="this is 'right'"
    • myAttribute='this is "right" too'
  • 使用html实体"编码&quot;,就像在
    • myAttribute="this is &quot;right&quot;"

您必须使用<(小于)或>(大于)对&lt;&gt;进行编码。


#3:那就是说,你可以把你的HTML放在Anchor Tag中,在它应该插入的地方,比如:

<a href="#" rel="tooltip"> 
      Name:<s:property value="#data.rank" />
</a>

但是,在您的情况下,您注入了大量HTML,包括另一个 Anchor,这是不可能的。我认为你应该简单地使用div或类似容器的东西,比如:

<div rel="tooltip" >
   <span>
      Name:<s:property value="#data.rank" /><br/>
      Email: <a><s:property value="#data.name" /></a><br/>
      Phone:<s:property value="#data.age" /> 
   </span>
</div>

在担心DisplayTag之前解决这个问题


修改

#4 改变

<s:property value="#data.rank" />

(以及所有其他标签)

<s:property value="#attr.data.rank" />

#attr是用于访问pageContext

的OGNL

如果可用,否则搜索请求,会话和应用程序范围。