Проблема в передаче параметра в теге URL-адреса Struts - PullRequest
2 голосов
/ 25 апреля 2009
<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" />

тогда ничего не пройдет

Ответы [ 2 ]

1 голос
/ 25 апреля 2009

Трудно точно сказать, что не так, но я могу догадаться:

Если вы не получаете значение в действии Struts, убедитесь, что у вас есть свойство с именем id, а также методы gettId () и estaId (), определенные в классе действия. Struts попытается заполнить все свойства из параметров по имени. Вы передаете параметр с именем id.

Вторая часть проблемы заключается в том, что вы неправильно обращаетесь к переменной. Попробуйте это:

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

при условии, что adminList - это имя объекта, а не имя вашей коллекции?

0 голосов
/ 25 апреля 2009

Является ли adminlist действительным объектом или коллекциями (я просто смотрю на название, чтобы сделать такое предположение). Убедитесь, что adminList действительно находится в ValueStack, попробуйте распечатать <s:property value="%{adminList}"/> Если вы его не видите, вы не выполнили работу по его размещению в стеке значений. Но при условии, что фактическим именем объекта id является id, например, int id; и у этого объекта id есть соответствующий getter, public int getId (); Тогда все должно работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...