<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" />
将完美地完成,但我无法在struts动作类中获得该值。 如果我通过
<s:param name="id" value="adminList.id" />
那么它什么都不会传递
答案 0 :(得分:1)
很难确切地说出错了但是我猜错了:
如果你没有在struts动作中获得值,那么检查你是否有一个名为id的属性以及action类中定义的gettId()和settId()方法。 Struts将尝试按名称填充参数中的所有属性。您正在传递名为id。
的参数问题的第二部分是您没有正确访问变量。试试这个:
<s:param name="id" value="#attr.adminList.id" />
假设adminList是对象的名称而不是集合的名称?
答案 1 :(得分:0)
adminlist是一个实际的对象还是集合(我只是在看这个名称来做出这个假设)。检查以查看adminList实际上是在ValueStack上,尝试打印<s:property value="%{adminList}"/>
如果你没有看到它,你还没有完成将它放在值堆栈上的工作。但假设id对象的实际名称是id,如int id;并且该id对象具有适当的getter,public int getId();然后它应该工作正常。