2016-06-01 3 views
0

У меня есть JSP, который имеет ниже метки данные в resultsList, загруженные в какое-то действие и перенаправленные ниже jsp здесь. Я хотел бы вернуть данные в другое действие на основе выбора флажка. Помогите, можете использовать Struts1, но не любите возвращаться к Struts1, так как начали использовать Struts2.Показатели экрана Struts 2

<display:table class="displaytag" id="row" style="font-size:1.4em;" name="resultsList" requestURI="/SomePath.action"> 
    <display:column property="businessType" title="Business Type"></display:column> 
    <display:column property="structure" title="Structure"></display:column> 
    <display:column property="tradeSubType" title="Trade Sub Type"></display:column> 
    <display:column property="businessGroup" title="Business Group"></display:column> 
    <display:column title="Select To Copy" align="center"> 
    <s:checkbox name="selectToCopy" fieldValue="false" value="false" label="Check Me To Download"></s:checkbox> 
    </display:column> 
</display:table> 

Данные будут быть извлечена в одном действии и направляется в СПЯ, где JSP содержит выше отображения тега, и теперь мне нужно отправить форму и действия должны получить проверенную информацию для дальнейшей обработки. Любая помощь здесь очень ценится, я могу сделать это с помощью Struts1 без сомнения, но хотел бы продолжить работу в Struts2.

+0

Непонятный. У вас нет формы где угодно. –

+0

У меня есть форма, когда я отправляю Я получаю только значение checkbox как true или false в объекте модели, вместо этого ожидаю все остальные значения свойств в объекте модели. – bharath

+0

Используйте скрытые поля. –

ответ

0

Я предполагаю, что ваш класс действия отправляет некоторые объекты домена из этого типа:

public class MyData { 
    private Integer id; 
    private String businessType; 
    //other params 
    //getter/setters 
} 

И класса действий, которые Ist вызываются перед обращением к странице displaytag Jsp имеет список объектов типа MyData образует:

public class MyDisplayTagAction extends ActionSupport { 
    private List<MyData> myDataList; 
    //other params 
    //getter/setter 
    public String execute() { 
     myDataList = getMyDataListFromSomewhere(); 
     return SUCCESS; 
    } 
} 

JSP должен содержать форму и кнопку отправки. Кроме того, вам необходимо определить все данные, которые вы хотите отправить назад в качестве поля в этой форме. Если пользователю не разрешено изменять их, используйте скрытые поля. #attr.row.id доступ к печати этого идентификатора к значению. #attr - от ognl для доступа к переменной row, определенной из displaytag. (Для получения дополнительной информации: Struts OGNL)

<s:form action="myStrutsPostAction" method="post"> 
    <display:table name="myDataList" uid="row"> 
     <display:column> 
      <s:checkbox name="resultsList[%{#attr.row_rowNum - 1}].selectToCopy" id="check%{#attr.row_rowNum - 1}" value="%{#attr.row.selectToCopy}"/> 
     </display:column> 
     <display:column> 
      <input type="hidden" name="resultsList[<s:property value='%{#attr.row_rowNum - 1}'/>]" value="<s:property value='%{#attr.row.businessType}' />"/> 
      <s:property value="%{#attr.row.businessType}"/> 
     </display:column 
    </display:table> 
    <s:submit> 
</s:form> 

Класс после действия (тот, который принимает запрос формы) должен содержать список, который был определен в <s:form> и распорок установит только данные в этот список.

public class MyPostAction extends ActionSupport { 
    private List<MyData> resultsList = new ArrayList<>(); 
    //getter/setter 
} 
+0

Спасибо, Бэндр за ваш ответ. Здесь я должен отправить все данные столбцов в действие. Однако я получаю значение флажка как true или false, но я не мог получить другие значения полей для действия. На моем экране есть 10 записей, которые были отображены с использованием разбивки на страницы, когда я отправляю форму с 1 или 2 флажками. Я получаю все 10 записей соответствующих объектов модели в действии, но только с флажком значение как true или false, но не получает значения всех другие свойства модели. – bharath

+0

Спасибо Beendr за ваш ответ. Здесь я должен отправить все данные столбцов в действие.Я получаю значение флажка как true или false, но я не мог получить другие значения свойств для действия. На моем экране есть 10 записей, которые отображаются с помощью разбивки на страницы, когда я отправляю форму с проверкой 1 или 2. Я получаю все 10 записей соответствующих объектов модели в действии, но только значение флажка как true или false, но не получает значения всех других свойств model.One больше пункта здесь, чтобы упомянуть, что у меня нет идентификаторов для переноса на действие на основе выбора, вместо этого требуется запись данных. Спасибо. – bharath

+0

В дополнение к вышеуказанному коду я вносил изменения, чтобы получить значение флажка как true или false, чтобы получить значение из модели в классе действий. Точно так же я пытаюсь получить другие значения свойств, но я не мог. – bharath