2015-08-06 2 views
3

Я хочу достичь этого щелчка по названию, соответствующий идентификатор отправляется в Action, но id в Action всегда равен нулю.Как отправить данные с JSP в Action с помощью <s:a> в Struts2?

Действие использует идентификатор для поиска соответствующей записи в базе данных и отображения в другой jsp.

<s:iterator id="n" value="news"> 
<tr> 
    <td> 
    <s:url action="GETNEWS" var="getNews"> 
     <s:a href="%{getNews}"> 
      <s:property value="#n.title" /> 
      <s:hidden name="id" value="#n.id" /> 
     </s:a> 
    </s:url> 
    </td> 
</tr> 
</s:iterator> 
+0

Отправьте свой код класса действий здесь. –

ответ

3

id в <s:iterator> осуждается (если вы не используете Aeon-старая версия). Вместо этого используйте var.

Используйте <s:param> внутри <s:url> (и, для лучшего кодирования, не забудьте указать пространство имен).
Затем укажите <s:url> от <s:a>.

Наконец, убедитесь, что у вас есть правильный сеттер в вашем действии.

<s:iterator var="n" value="news"> 
<tr> 
    <td> 

     <s:url action="GETNEWS" namespace="/" var="getNews"> 
      <s:param name="id"> 
       <s:property value="#n.id" /> 
      </s:param> 
     </s:url> 

     <s:a href="%{getNews}"> 
      <s:property value="#n.title" /> 
     </s:a> 

    </td> 
</tr> 
</s:iterator> 
+0

большое спасибо! Оно работает. Я отвечу на ваш совет. –

+0

Добро пожаловать. Не стесняйтесь проголосовать за этот вопрос, если вам понравилось, спасибо @ 倪 裕 镇 –

0

Используйте <s:param> тег для отправки значение server.So ваш код будет выглядеть

<s:iterator id="n" value="news"> 
<tr> 
    <td> 
    <s:url action="GETNEWS" var="getNews"> 
     <s:param name="id"><s:property value="#n.id"/></s:param> 
     <s:a href="%{getNews}"> 
      <s:property value="#n.title"/> 
     </s:a> 
    </s:url> 
    </td> 
</tr> 
</s:iterator> 
+0

благодарю вас за предложение –

Смежные вопросы