我们如何使用struts在表中逐行添加

时间:2014-02-06 06:04:22

标签: struts2

当我们逐个点击添加按钮继续添加到表格中时,我想以表格格式显示数据。只使用struts 2而不是Ajax和Jquery。

home.jsp

  <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
      <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>

    </head>
    <body>
    <table>
                    <tr>
                        <td><s:textfield label="Sainumber"
                                name="stockcreationbean.sainumber" /></td>

                        <td><table><tr><td><sx:datetimepicker
                                name="stockcreationbean.saidate" displayFormat="MM-dd-yy"
                                label="SaiDate" /></td></tr></table></td>

                        <td><s:textfield label="Challan"
                                name="stockcreationbean.challan"></s:textfield></td>

                        <td><table><tr><td><sx:datetimepicker name="stockcreationbean.challandate"
                                displayFormat="MM-dd-yy" label="ChallanDate"></sx:datetimepicker></td></tr></table></td>
                    </tr>
                    <tr>
                        <td><s:textfield label="BillNumber"
                                name="stockcreationbean.billnumber"></s:textfield></td>
                        <td><table><tr><td><sx:datetimepicker name="stockcreationbean.billdate"
                                displayFormat="MM-dd-yy" label="BillDate"></sx:datetimepicker></td></tr></table></td>

                        <td><s:textfield name="stockcreationbean.ponumber"
                                label="PoNumber"></s:textfield></td>
                        <td><table><tr><td><sx:datetimepicker name="stockcreationbean.podate"
                                displayFormat="MM-dd-yy" label="PoDate"></sx:datetimepicker></td></tr></table></td>
                    </tr><tr><td><s:textfield name="stockcreationbean.filenumber"
                                label="FileNumber"></s:textfield></td>
                    </tr>
                </table>
    <table>
    <s:iterator value="toparraylist"> 
                <tr> 
                <s:iterator value="tablelist">
                    <td><s:property value="saidate"/></td>
                </s:iterator>
                 </tr>
                 </s:iterator>  
        </table>
        <s:submit value="Submit" onclick="formSubmit(this.form)"></s:submit>

    </body>
    </html>

这是我们可以用来在数组列表中添加数据的动作类。一个是本地数组列表,另一个是全局数组列表,然后当我们单击添加按钮然后将本地arraylist对象添加到全局arraylist对象时调用getData()方法/ p>

    DisplayAction.java

     public class DisplayAction extends ActionSupport {
        ArrayList<Object> toparraylist = new ArrayList<Object>();
            public String execute()  {
                return "success";
            }
        public String getData() throws NamingException, Exception {

                ArrayList<Object> tablelist=new ArrayList<Object>();


                tablelist.add(stockcreationbean);
                toparraylist.add(tablelist);
                return "success";
            }

        public ArrayList<Object> getToparraylist() {
                return toparraylist;
            }
            public void setToparraylist(ArrayList<Object> toparraylist) {
                this.toparraylist = toparraylist;
            }


        }

1 个答案:

答案 0 :(得分:0)

@Mack Struts 2是java的服务器端框架。如果我解码您的要求,它会告诉我您要更新table(at client)上的内容,然后使用struts 2(at server)逐个更新。

Ajax完全符合您的要求,是您需求的唯一解决方案,因为更新表是对服务器的异步调用。