2009-11-12 281 views
0

我是struts標籤庫的新手。我想要生成一個錨點來在同一個文檔中定義一個超鏈接目標。我的代碼是這樣的:<html:link>標籤

<html:link anchor="abc" > 
      This is to test anchors 
</html:link> 

...Some other tags here 

<html:link linkName = "abc" > 
      Anchor 
</html:link> 

我得到的錯誤是Cannot create rewrite URL: java.net.MalformedURLException: You must specify exactly one of "forward", "href", or "page"

任何人能告訴我怎麼解決這個問題?
感謝

回答

1

據我所知支柱和apache

You must specify exactly one of the action attribute, the forward attribute, the href attribute, the linkName attribute, or the page attribute.

所以在你的第一個標籤,我猜你會需要添加一個href標記和錨被添加到這一點。然後用鏈接名稱的標籤應該工作

<html:link href="someurl" anchor="abc" > 
      This is to test anchors 
</html:link> 
+0

但超鏈接的目標是在同一doccument。所以我們仍然需要指定href?在HTML等效 href =「#abc」我們不指定url如果它在同一個document.how在struts中執行它? – daniel

+0

您需要設置href,因爲它是先決條件。 (或至少一個上面指定的屬性)。所以如果它在同一頁面上,我想你會設置href =「#」和anchor =「abc」。 – Kamal

1

這爲我工作。 以下是我遇到錯誤的場景。

<appl:resource defaultValue="Appl Error" op="GET" category="shunmugaActionMapping" name="specification" property="shunmugaType" id="shunmugaStartMapping" type="string" > 
    <td class="<xd:valueOf name="rowStyle"/>"> 
     <div class="listRowLink"><html:link page="<%=shunmugaStartMapping%>" paramName="specification" paramProperty="routerId" paramId="detailRouterId">&gt; Details</html:link> 
     </div> 
    </td> 

這被扔了以下錯誤:

servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: 
Uncaught exception created in one of the service methods of the servlet 
/jsp/List.jsp in application Sundaram. Exception created : 
com.ibm.websphere.servlet.error.ServletErrorReport: 
javax.servlet.jsp.JspException: Cannot create rewrite URL: 
java.net.MalformedURLException: You must specify exactly one of 
"forward", "href", "page" or "action" 
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:695) 

我所做的一切是我加了封底:

</appl:resource> 

的問題得到了解決,我現在很好。

感謝, Shunmuga

+0

+1用於提供錯誤消息和示例代碼 – scraimer