2009-04-25 9 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> 

をパラメータを渡すことで、私はこのコードを実行する時期の文問題は、ストラットのURLタグに

<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

その間違っている、まさに言うことが、私は推測することができ、ハード:(あなたがStrutsアクションに値を取得していない場合、あなたはgettId(一緒にidという性質を持っていることを確認

)とsettId )メソッドを定義します。 Strutsは、パラメータのすべてのプロパティに名前を設定しようとします。 idという名前のパラメーターを渡しています。

問題の2番目の部分は、あなたが適切に変数にアクセスしていないということです。これを試してみてください:

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

adminListはあなたのコレクションの名前ではなく、オブジェクトの名前であると仮定していますか?

+0

貴重なご回答ありがとうございます。 – harshalb