沒關係,我設法解決這個問題「應用自定義外觀Enunctiate的文檔」(http://docs.codehaus.org/display/ENUNCIATE/Applying+a+Custom+Skin+to+Enunciate%27s+Documentation)
我修改docs.xml.fmt
以及對enunciate-docs
docs.fmt
,讓「@Secured」註釋是公認的。
不幸的是,對於docs.xml.fmt
,沒有乾淨的方式來定製,因爲我們已經爲docs.fmt
進行了定製。所以,我不得不用這些修改後的文件打包自己。
我提到了如何處理@Deprecated(java.lang.Deprecated)並遵循類似的方法。
在docs.fmt
文件,僅加入下面的isDeprecated
[#function isSecured element]
[#return (getTagValues(element, "secured")?size > 0)/]
[/#function]
現在類似的功能模塊該模塊,
略低於此塊:
[#if isDeprecated(resource)]
<p class="alert">This resource has been deprecated.</p>
[/#if]
如果塊
再添
[#if isSecured(resource)]
<p class="note">This resource is available only to these roles:
[#assign securedTags = getTagValues(resource, "secured") /]
[#if securedTags?size > 0]
${securedTags[0]}
[/#if]
[#list resource.parent.annotations as tag]
${tag}
[/#list]
</p>
[/#if]
現在,在docs.xml.fmt
文件,略低於:
[#if resource.parent.annotations["java.lang.Deprecated"]??]
<tag name="deprecated"/>
[/#if]
添加以下塊
[#if resource.parent.annotations["org.springframework.security.access.annotation.Secured"]??]
<tag name="secured">
[#list resource.parent.annotations["org.springframework.security.access.annotation.Secured"]["value"] as roles]
<![CDATA[${roles}]]>
[/#list]
</tag>
[/#if]
我想已經有一個類似的功能要求:http://jira.codehaus.org/browse/ENUNCIATE -724 – lihsus
以某種方式也涉及到這個問題: http://jira.codehaus.org/browse/ENUNCIATE-618 – lihsus