struts 2 - Передача параметров с одной страницы на другую

Помогите с передачей параметров в Struts 2.

<action name="Hfddisp1" class="model.HfddispAction" method="fetch_addesc">
   <result  >model.HfddispAction?ad_ref_no=${ad_ref_no}</result> 
</action>

Мой JSP

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
   <head>
   </head>
<body>
   <h1> Iterator tag example 12</h1>
   <h3>Iterator with IteratorStatus 12</h3>
   <table>
      <tr class="even"> 
         <td><b>Ad_ref_no</b></td> 
         <td><b>Ad_title</b></td> 
      </tr> 
      <s:iterator value="hftbList" status="hftbListStatus">
      <tr>
  <s:if test="#hftbListStatus.even == true">
         <td style="background: #CCCCCC"><s:property value="ad_ref_no"  /> </td>
         <td style="background: #CCCCCC"><s:property value="ad_title" />  </td>
         <td  style="background: #CCCCCC">     
            <a href="<s:url action="Hfddisp1"/>">click here-1 </a>   
         </td>  
      </s:if>       
      <s:else>
         <td>
            <s:property value="ad_ref_no" />
         </td>
         <td>
            <s:property value="ad_title" />
         </td>
         <td >
            <a href="<s:url  action="Hfddisp2"/>
               <s:param name="ad_ref_no" value="%    {ad_ref_no}" />  ">
               click       here2
            </a>   
         </td>
      </s:else>
   </tr>
   </s:iterator>
   </table>

Ошибка, которую я получаю:

Сообщения: результат не определен для модели действия.HfddispAction и результат огромный объем теста идет сюда я могу сказать что это такое

Файл: файл:/E:/Web_workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Gshax/WEB-INF/classes/struts.xml

Я получаю данные в итераторе, но не могу показать их на другой странице.

<--------qry is executed2hftb_add_master[ad_ref_no=huge volume of test goes here i can say what is it,email_address=null]
<--------qry is executed2huge volume of test goes here i can say what is it 
description successfully queried:1 huge volume of test goes here i can say what is it
Apr 26, 2012 12:07:04 PM org.apache.struts2.dispatcher.Dispatcher serviceAction
SEVERE: Could not find action or result

С первой страницы я получаю вывод

Ad_ref_no Ad_title 

12123120  i am the king but not sing  click here-1  
213421123  new test1  click here-2  
4150  Ad_title ........11:32:08  click here-1  
4152  Ad_title ........11:32:09  click here-2  
4153  Ad_title ........11:32:10  click here-1 

когда я нажимаю кнопку здесь -1, я получаю указанную выше ошибку. ВСЕ, ЧТО Я ПЫТАЮСЬ, ЭТО ПЕРЕДАТЬ РЕКЛАМНЫЙ НОМЕР 4150 НА ДЕЙСТВИЕ И ПОКАЗАТЬ ОПИСАНИЕ НА ДРУГОЙ СТРАНИЦЕ


person shakeel khan    schedule 28.04.2012    source источник
comment
какой URL вы можете увидеть по этому выражению <a href="<s:url action="Hfddisp2"/> <s:param name="ad_ref_no" value="% {ad_ref_no}" /> ">?   -  person Umesh Awasthi    schedule 29.04.2012


Ответы (1)


Использование тегов URL и param Struts2...

В настоящее время у вас есть это: <s:url action="Hfddisp2"/><s:param name="ad_ref_no" value="% {ad_ref_no}" /> Обратите внимание, что тег param не вложен в тег url.

Вы можете написать так: <s:url action="Hfddisp2"><s:param name="ad_ref_no"/></s:url>

Обратите внимание, что выше атрибут param tags value опущен, поскольку по умолчанию он разрешает предоставленное имя.

С несколькими атрибутами использование переменной может прояснить ситуацию:

<s:url var="myurl" action="Hfddisp2">
   <s:param name="ad_ref_no"/>
</s:url>

Затем позже, когда вам это нужно:

<s:property value="#myurl"/>

Также вы должны иметь возможность включить все параметры текущего URL-адреса в новый URL-адрес, сказав:

<s:url action="Hfddisp2" includeParams="get"/> 

Для получения дополнительной информации всегда обращайтесь к справочнику по тегам http://struts.apache.org/2.3.1.2/docs/tag-reference.html

person Quaternion    schedule 30.04.2012