2014-01-29 1 views
0

Я создаю таблицу с использованием тега display в JSP, и я использую декоратор для отображения последнего столбца (Action), который является ссылкой на мой класс действий.получить значения отображения: столбцы таблицы для класса действия struts2

<display:table id='listDisplay' name='detailsList' list='detailsList' requestURI="" cellpadding="0" cellspacing="0" decorator="com.abc.RecBackupDetailsDecorator"> 
    <display:column title="Rule Name" property="rulename"></display:column> 
    <display:column title="Campaign" property="campname"></display:column> 
    <display:column title="Dispositions" property="dispositions"></display:column> 
    <display:column title="Backup Server" property="backupserver"></display:column> 
    <display:column title="Backup Directory" property="backupdir"></display:column> 
    <display:column title="Frequency" property="frequency"></display:column> 
    <display:column title="Added On" property="addedon"></display:column> 
    <display:column title="Last Run Date" property="lastrundate"></display:column> 
    <display:column title="Status" property="status"></display:column> 
    <display:column title="Action" property="editDetails"></display:column> 
</display:table> 

декоратор Класс:

public class RecBackupDetailsDecorator extends TableDecorator { 

public String getEditDetails() { 
    System.out.println("Index of List : " + getViewIndex()); 
    String editDetails = "<a href='editDetailsRecBackupConf.action' class='editDetails'>Edit</a>"; 
    return editDetails; 
} 
} 

Теперь, когда я нажимаю на редактировании, я хочу, чтобы получить значение дисплея столбцов таблицы в моем методе класса действия (editDetailsRecBackupConf), но не знаю, как могу ли я получить значения в своем классе действий.

ответ

0

Вы должны сделать ajax-вызов класса действия.

<script> 
function passValueToAction(val) 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","myActionClass.action?value="+val,true); 
xmlhttp.send(); 
} 
</script> 

предположит щелкать редактировать ссылку, Я.С. функции passValueToAction(val) называется где val значение, которое вы должны перейти к действию. Здесь класс действия называется myActionClass.action вместе с параметрами запроса.

Зарегистрируйте свой вызов в struts2.xml (config xml), чтобы сопоставить этот вызов действия классу действий и дать метод, который вы хотите вызвать.