2011-09-23 65 views
0

我使用這個pager taglib solution,它會根據指示生成幾乎的鏈接。它提供了一種自定義用於迭代數據集的變量名稱的方法,這正是導致問題的原因。pager taglib沒有重新命名導出的url變量

這是我怎樣才成立至今

<pg:pager url="/search" 
items="1000" 
maxPageItems="10" 
export="from=offset,currentPageNumber=pageNumber" 
scope="request"> 
<pg:param name="w" value="${w}"/> 
<pg:param name="e" value="${e}"/> 

<pg:first unless="current"><a href="${pageUrl}"> &lt;&lt; first</a>&nbsp;</pg:first> 
<pg:prev><a href="${pageUrl}"> &lt; prev</a>&nbsp;</pg:prev>  
<pg:pages> 
    <c:choose> 
     <c:when test="${pageNumber == currentPageNumber}"> 
      ${pageNumber} 
     </c:when> 
     <c:otherwise> 
      <a href="${pageUrl}">${pageNumber}</a> 
     </c:otherwise> 
    </c:choose> 
&nbsp;</pg:pages> 
<pg:next><a href="${pageUrl}">next &gt;</a>&nbsp;</pg:next> 
<pg:last unless="current"><a href="${pageUrl}">last &gt;&gt;</a></pg:last> 
</pg:pager> 

注意,基於對documentation可以控制輸出變量

的名義出口的表達出口=」 versatz =偏移量」將導致 pageOffset變量可作爲<%= versatz%>

正如你可以看到,我想重新命名太偏移(這是後端期待)

export="from=offset,currentPageNumber=pageNumber" 

但所有生成的鏈接的格式爲(注尋呼機.offset = [數字]

http://localhost:8080/search?w=param1&e=param2&pager.offset=10 

那是什麼,我做錯了嗎? 有人試驗過這個taglib嗎?

任何反饋對此深表讚賞

回答

1

我意識到這是一個有點晚了,但我使用的taglib上述支持在單頁上多個獨特的尋呼機尋呼機遇到同樣的問題。希望有人認爲這有用...

看來這個參數名稱被烤成尋呼機標籤代碼:

static final String OFFSET_PARAM = ".offset"; 

然而,有一個id標籤屬性,其價值得到上述前綴到OFFSET_PARAM不變在標記呈現期間。它的默認值是pager

static final String DEFAULT_ID = "pager"; 

這兩個值獲得連接起來形成一個idOffsetParam場是內部尋呼機標籤使用的最後一個參數名:如果你指定:

private String idOffsetParam = DEFAULT_ID+OFFSET_PARAM; 

解決方案您在標籤聲明中自己的id值,您將對提供的參數名稱具有部分控制權:

<pg:pager 
    id="stackoverflow" 
    url="/search" 
    items="1000" 
    ... 
    .. 
    . 

這將使導航鏈接呈現爲?stackoverflow.offset=10。參數的.offset部分將保留,但至少您對參數名稱的唯一性會有一定的靈活性。