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