2009-04-25 30 views
2
<display:column property="id" sortable="true" 
    paramId="id" paramProperty="id" titleKey="adminList.id"/> 

<display:column property="username" sortable="true" titleKey="adminList.username"/> 
<display:column property="password" sortable="true" titleKey="adminList.password"/> 
<display:column> 
    <s:url id="removeUrl" action="remove"> 
    <s:param name="id" value="37" /> 
    </s:url> 
<s:a href="%{removeUrl}" theme="ajax" targets="adminList">Remove</s:a> 

</display:column> 
</display:table> 

參數傳遞的時候我會執行此代碼的聲明問題在支柱網址標籤

<s:param name="id" value="37" /> 

將是完全excecuted,但我不能讓在Struts動作類值。 另外,如果我通過

<s:param name="id" value="adminList.id" /> 

那麼它會通過什麼

回答

0

是adminlist實際對象或集合(我只是在看名字做這樣的假設)。查看adminList實際上是否在ValueStack上,嘗試打印出<s:property value="%{adminList}"/>如果你沒有看到它,你還沒有完成將它放在值棧上的工作。但是,假設id對象的實際名稱是id,例如int id;並且該id對象具有適當的getter,public int getId();那麼它應該工作得很好。

1

很難說什麼是錯的,但我可以猜想:

如果你沒有得到的支柱作用的價值,然後檢查是否有一個名爲id與gettId()和settId一起財產( )在動作類中定義的方法。 Struts將試圖通過名稱填充參數中的所有屬性。您正在傳遞一個名爲id的參數。

問題的第二部分是您沒有正確訪問變量。試試這個:

<s:param name="id" value="#attr.adminList.id" /> 

假設adminList是對象的名稱而不是你的集合的名稱?

+0

感謝您寶貴的答覆。 – harshalb 2009-04-29 09:36:12