天天看點

SSh結合Easyui實作Datagrid的分頁顯示

 近日學習easyui,發現非常好用,界面很美觀。将學習的心得在此寫下,這篇部落格寫ssh結合easyui實作datagrid的分頁顯示,其他的例如添加、修改、删除、批量删除等功能将在後面的部落格一一寫來。

     首先看一下要實作的效果:當每頁顯示5行資料:

SSh結合Easyui實作Datagrid的分頁顯示
SSh結合Easyui實作Datagrid的分頁顯示

          當每頁顯示10行資料,效果如下:

SSh結合Easyui實作Datagrid的分頁顯示

具體步驟:

2、搭建ssh工程,整個工程的目錄結構如圖所示:

SSh結合Easyui實作Datagrid的分頁顯示

3、在oracle資料庫中建立表student。并且輸入下面6行資料,因為添加操作還沒有實作,是以先在資料庫表中添加資料。預設設定的值是每行5個資料,是以請至少輸入6行資料,便于分頁的測試。

SSh結合Easyui實作Datagrid的分頁顯示

4、web.xml的配置

<a target="_blank" href="http://www.open-open.com/lib/view/open1380637261182.html#viewsource">檢視源碼</a>

<code>01</code>

<code>&lt;?</code><code>xml</code>

<code>version</code><code>=</code><code>"1.0"</code>

<code>encoding</code><code>=</code><code>"utf-8"</code><code>?&gt;</code>

<code>02</code>

<code>&lt;</code><code>web-app</code>

<code>version</code><code>=</code><code>"2.5"</code>

<code>xmlns</code><code>=</code><code>"http://java.sun.com/xml/ns/javaee"</code>

<code>03</code>

<code>    </code><code>xmlns:xsi</code><code>=</code><code>"http://www.w3.org/2001/xmlschema-instance"</code>

<code>04</code>

<code>    </code><code>xsi:schemalocation="http://java.sun.com/xml/ns/javaee</code>

<code>05</code>

<code>    </code><code>http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"&gt;</code>

<code>06</code>

<code>07</code>

<code>    </code><code>&lt;!-- sttuts2過濾器 --&gt;</code>

<code>08</code>

<code>    </code><code>&lt;</code><code>filter</code><code>&gt;</code>

<code>09</code>

<code>        </code><code>&lt;</code><code>filter-name</code><code>&gt;struts2&lt;/</code><code>filter-name</code><code>&gt;</code>

<code>10</code>

<code>        </code><code>&lt;</code><code>filter-class</code><code>&gt;org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter&lt;/</code><code>filter-class</code><code>&gt;</code>

<code>11</code>

<code>    </code><code>&lt;/</code><code>filter</code><code>&gt;</code>

<code>12</code>

<code>    </code><code>&lt;</code><code>filter-mapping</code><code>&gt;</code>

<code>13</code>

<code>14</code>

<code>        </code><code>&lt;</code><code>url-pattern</code><code>&gt;/*&lt;/</code><code>url-pattern</code><code>&gt;</code>

<code>15</code>

<code>    </code><code>&lt;/</code><code>filter-mapping</code><code>&gt;</code>

<code>16</code>

<code>17</code>

<code>    </code><code>&lt;!-- 監聽器spring --&gt;</code>

<code>18</code>

<code>    </code><code>&lt;</code><code>listener</code><code>&gt;</code>

<code>19</code>

<code>        </code><code>&lt;</code><code>listener-class</code><code>&gt;org.springframework.web.context.contextloaderlistener&lt;/</code><code>listener-class</code><code>&gt;</code>

<code>20</code>

<code>    </code><code>&lt;/</code><code>listener</code><code>&gt;</code>

<code>21</code>

<code>22</code>

<code>    </code><code>&lt;!-- 定位applicationcontext.xml的實體位置 --&gt;</code>

<code>23</code>

<code>    </code><code>&lt;</code><code>context-param</code><code>&gt;</code>

<code>24</code>

<code>        </code><code>&lt;</code><code>param-name</code><code>&gt;contextconfiglocation&lt;/</code><code>param-name</code><code>&gt;</code>

<code>25</code>

<code>        </code><code>&lt;</code><code>param-value</code><code>&gt;classpath:applicationcontext.xml&lt;/</code><code>param-value</code><code>&gt;</code>

<code>26</code>

<code>    </code><code>&lt;/</code><code>context-param</code><code>&gt;</code>

<code>27</code>

<code>28</code>

<code>&lt;/</code><code>web-app</code><code>&gt;</code>

5、applicationcontext.xml的配置

<code>&lt;</code><code>beans</code>

<code>xmlns</code><code>=</code><code>"http://www.springframework.org/schema/beans"</code>

<code>xmlns:context</code><code>=</code><code>"http://www.springframework.org/schema/context"</code>

<code>    </code><code>xmlns:aop</code><code>=</code><code>"http://www.springframework.org/schema/aop"</code>

<code>xmlns:tx</code><code>=</code><code>"http://www.springframework.org/schema/tx"</code>

<code>    </code><code>xsi:schemalocation="http://www.springframework.org/schema/beans</code>

<code>           </code><code>http://www.springframework.org/schema/beans/spring-beans-2.5.xsd</code>

<code>           </code><code>http://www.springframework.org/schema/context</code>

<code>           </code><code>http://www.springframework.org/schema/context/spring-context-2.5.xsd</code>

<code>           </code><code>http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd</code>

<code>           </code><code>http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"&gt;</code>

<code>&lt;</code><code>import</code>

<code>resource</code><code>=</code><code>"applicationcontext_bean.xml"</code><code>/&gt;</code>

<code>resource</code><code>=</code><code>"applicationcontext_db.xml"</code><code>/&gt;</code>

<code>&lt;/</code><code>beans</code><code>&gt;</code>

6、在com.model中建立模型類student.java

<code>package</code> <code>com.model;</code>

<code>public</code> <code>class</code> <code>student {</code>

<code>    </code><code>string studentid;</code><code>// 主鍵</code>

<code>    </code><code>string name;</code><code>// 姓名</code>

<code>    </code><code>string gender;</code><code>// 性别</code>

<code>    </code><code>string age;</code><code>// 年齡</code>

<code>    </code><code>public</code>

<code>string getstudentid() {</code>

<code>        </code><code>return</code>

<code>studentid;</code>

<code>    </code><code>}</code>

<code>void</code> <code>setstudentid(string studentid) {</code>

<code>        </code><code>this</code><code>.studentid = studentid;</code>

<code>string getname() {</code>

<code>name;</code>

<code>void</code> <code>setname(string name) {</code>

<code>        </code><code>this</code><code>.name = name;</code>

<code>string getgender() {</code>

<code>gender;</code>

<code>29</code>

<code>void</code> <code>setgender(string gender) {</code>

<code>30</code>

<code>        </code><code>this</code><code>.gender = gender;</code>

<code>31</code>

<code>32</code>

<code>33</code>

<code>string getage() {</code>

<code>34</code>

<code>age;</code>

<code>35</code>

<code>36</code>

<code>37</code>

<code>void</code> <code>setage(string age) {</code>

<code>38</code>

<code>        </code><code>this</code><code>.age = age;</code>

<code>39</code>

<code>40</code>

<code>41</code>

<code>}</code>

7、根據student.java生成對應的映射檔案student.hbm.xml

<code>version</code><code>=</code><code>"1.0"</code><code>?&gt;</code>

<code>&lt;!doctype hibernate-mapping public "-//hibernate/hibernate mapping dtd 3.0//en"</code>

<code>"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"&gt;</code>

<code>&lt;!-- generated 2013-6-23 23:31:47 by hibernate tools 3.4.0.cr1 --&gt;</code>

<code>&lt;</code><code>hibernate-mapping</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>class</code>

<code>name</code><code>=</code><code>"com.model.student"</code>

<code>table</code><code>=</code><code>"student"</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>id</code>

<code>name</code><code>=</code><code>"studentid"</code>

<code>type</code><code>=</code><code>"java.lang.string"</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>column</code>

<code>/&gt;</code>

<code>            </code><code>&lt;</code><code>generator</code>

<code>class</code><code>=</code><code>"assigned"</code>

<code>        </code><code>&lt;/</code><code>id</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>property</code>

<code>name</code><code>=</code><code>"name"</code>

<code>        </code><code>&lt;/</code><code>property</code><code>&gt;</code>

<code>name</code><code>=</code><code>"gender"</code>

<code>name</code><code>=</code><code>"age"</code>

<code>    </code><code>&lt;/</code><code>class</code><code>&gt;</code>

<code>&lt;/</code><code>hibernate-mapping</code><code>&gt;</code>

8、編寫接口studentservice.java

<code>1</code>

<code>package</code> <code>com.service;</code>

<code>2</code>

<code>3</code>

<code>import</code> <code>java.util.list;</code>

<code>4</code>

<code>5</code>

<code>public</code> <code>interface</code> <code>studentservice {</code>

<code>6</code>

<code>     </code><code>public</code>

<code>list getstudentlist(string page,string rows)</code><code>throws</code>

<code>exception;</code><code>//根據第幾頁擷取,每頁幾行擷取資料</code>

<code>7</code>

<code>int</code> <code>getstudenttotal()</code>

<code>throws</code> <code>exception;</code><code>//統計一共有多少資料</code>

<code>8</code>

9、編寫接口的實作類studentserviceimpl.java

<code>package</code> <code>com.serviceimpl;</code>

<code>import</code> <code>org.hibernate.sessionfactory;</code>

<code>import</code> <code>com.service.studentservice;</code>

<code>public</code> <code>class</code> <code>studentserviceimpl</code><code>implements</code>

<code>studentservice {</code>

<code>    </code><code>private</code>

<code>sessionfactory sessionfactory;</code>

<code>    </code> 

<code>    </code><code>// 根據第幾頁擷取,每頁幾行擷取資料</code>

<code>list getstudentlist(string page, string rows) {</code>

<code>        </code> 

<code>        </code><code>//當為預設值的時候進行指派</code>

<code>        </code><code>int</code>

<code>currentpage = integer.parseint((page ==</code><code>null</code>

<code>|| page ==</code><code>"0"</code><code>) ?</code><code>"1"</code><code>: page);</code><code>//第幾頁</code>

<code>pagesize = integer.parseint((rows ==</code><code>null</code>

<code>|| rows ==</code><code>"0"</code><code>) ?</code><code>"10"</code><code>: rows);</code><code>//每頁多少行</code>

<code>        </code><code>list list =</code><code>this</code><code>.sessionfactory.getcurrentsession().createquery(</code><code>"from student"</code><code>)</code>

<code>                       </code><code>.setfirstresult((currentpage -</code><code>1</code><code>) * pagesize).setmaxresults(pagesize).list();</code>

<code>list;</code>

<code>    </code><code>// 統計一共有多少資料</code>

<code>throws</code> <code>exception {</code>

<code>this</code><code>.sessionfactory.getcurrentsession().find(</code><code>"from student"</code><code>).size();</code>

<code>sessionfactory getsessionfactory() {</code>

<code>sessionfactory;</code>

<code>void</code> <code>setsessionfactory(sessionfactory sessionfactory) {</code>

<code>        </code><code>this</code><code>.sessionfactory = sessionfactory;</code>

10、配置連接配接資料庫的配置檔案applicationcontext_db.xml

<code>001</code>

<code>002</code>

<code>003</code>

<code>004</code>

<code>005</code>

<code>006</code>

<code>007</code>

<code>008</code>

<code>009</code>

<code>010</code>

<code>011</code>

<code>012</code>

<code>013</code>

<code>    </code><code>&lt;!-- 用bean定義資料源 --&gt;</code>

<code>014</code>

<code>    </code><code>&lt;</code><code>bean</code>

<code>id</code><code>=</code><code>"datasource"</code>

<code>class</code><code>=</code><code>"com.mchange.v2.c3p0.combopooleddatasource"</code>

<code>015</code>

<code>        </code><code>destroy-method</code><code>=</code><code>"close"</code><code>&gt;</code>

<code>016</code>

<code>        </code><code>&lt;!-- 定義資料庫驅動 --&gt;</code>

<code>017</code>

<code>name</code><code>=</code><code>"driverclass"</code><code>&gt;</code>

<code>018</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;oracle.jdbc.driver.oracledriver&lt;/</code><code>value</code><code>&gt;</code>

<code>019</code>

<code>020</code>

<code>        </code><code>&lt;!-- 定義資料庫url --&gt;</code>

<code>021</code>

<code>name</code><code>=</code><code>"jdbcurl"</code><code>&gt;</code>

<code>022</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;jdbc:oracle:thin:@localhost:1521:orcl&lt;/</code><code>value</code><code>&gt;</code>

<code>023</code>

<code>024</code>

<code>        </code><code>&lt;!-- 定義資料庫的使用者名 --&gt;</code>

<code>025</code>

<code>name</code><code>=</code><code>"user"</code><code>&gt;</code>

<code>026</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;lhq&lt;/</code><code>value</code><code>&gt;</code>

<code>027</code>

<code>028</code>

<code>        </code><code>&lt;!-- 定義資料庫的密碼 --&gt;</code>

<code>029</code>

<code>name</code><code>=</code><code>"password"</code><code>&gt;</code>

<code>030</code>

<code>031</code>

<code>032</code>

<code>name</code><code>=</code><code>"minpoolsize"</code><code>&gt;</code>

<code>033</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;1&lt;/</code><code>value</code><code>&gt;</code>

<code>034</code>

<code>035</code>

<code>name</code><code>=</code><code>"maxpoolsize"</code><code>&gt;</code>

<code>036</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;40&lt;/</code><code>value</code><code>&gt;</code>

<code>037</code>

<code>038</code>

<code>name</code><code>=</code><code>"maxidletime"</code><code>&gt;</code>

<code>039</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;1800&lt;/</code><code>value</code><code>&gt;</code>

<code>040</code>

<code>041</code>

<code>name</code><code>=</code><code>"acquireincrement"</code><code>&gt;</code>

<code>042</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;2&lt;/</code><code>value</code><code>&gt;</code>

<code>043</code>

<code>044</code>

<code>name</code><code>=</code><code>"maxstatements"</code><code>&gt;</code>

<code>045</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;0&lt;/</code><code>value</code><code>&gt;</code>

<code>046</code>

<code>047</code>

<code>name</code><code>=</code><code>"initialpoolsize"</code><code>&gt;</code>

<code>048</code>

<code>049</code>

<code>050</code>

<code>name</code><code>=</code><code>"idleconnectiontestperiod"</code><code>&gt;</code>

<code>051</code>

<code>052</code>

<code>053</code>

<code>name</code><code>=</code><code>"acquireretryattempts"</code><code>&gt;</code>

<code>054</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;30&lt;/</code><code>value</code><code>&gt;</code>

<code>055</code>

<code>056</code>

<code>name</code><code>=</code><code>"breakafteracquirefailure"</code><code>&gt;</code>

<code>057</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;true&lt;/</code><code>value</code><code>&gt;</code>

<code>058</code>

<code>059</code>

<code>name</code><code>=</code><code>"testconnectiononcheckout"</code><code>&gt;</code>

<code>060</code>

<code>            </code><code>&lt;</code><code>value</code><code>&gt;false&lt;/</code><code>value</code><code>&gt;</code>

<code>061</code>

<code>062</code>

<code>063</code>

<code>    </code><code>&lt;/</code><code>bean</code><code>&gt;</code>

<code>064</code>

<code>065</code>

<code>    </code><code>&lt;!--定義hibernate的sessionfactory --&gt;</code>

<code>066</code>

<code>id</code><code>=</code><code>"sessionfactory"</code>

<code>067</code>

<code>        </code><code>class</code><code>=</code><code>"org.springframework.orm.hibernate3.localsessionfactorybean"</code><code>&gt;</code>

<code>068</code>

<code>        </code><code>&lt;!-- 定義sessionfactory必須注入datasource --&gt;</code>

<code>069</code>

<code>name</code><code>=</code><code>"datasource"</code><code>&gt;</code>

<code>070</code>

<code>            </code><code>&lt;</code><code>ref</code>

<code>bean</code><code>=</code><code>"datasource"</code>

<code>071</code>

<code>072</code>

<code>        </code><code>&lt;!-- 定義hibernate的sessionfactory屬性 --&gt;</code>

<code>073</code>

<code>name</code><code>=</code><code>"hibernateproperties"</code><code>&gt;</code>

<code>074</code>

<code>            </code><code>&lt;</code><code>props</code><code>&gt;</code>

<code>075</code>

<code>                </code><code>&lt;</code><code>prop</code>

<code>key</code><code>=</code><code>"hibernate.dialect"</code><code>&gt;</code>

<code>076</code>

<code>                    </code><code>org.hibernate.dialect.oracle10gdialect</code>

<code>077</code>

<code>                </code><code>&lt;/</code><code>prop</code><code>&gt;</code>

<code>078</code>

<code>            </code><code>&lt;/</code><code>props</code><code>&gt;</code>

<code>079</code>

<code>080</code>

<code>081</code>

<code>        </code><code>&lt;!-- 定義pojo的映射檔案 --&gt;</code>

<code>082</code>

<code>name</code><code>=</code><code>"mappingresources"</code><code>&gt;</code>

<code>083</code>

<code>            </code><code>&lt;</code><code>list</code><code>&gt;</code>

<code>084</code>

<code>                </code><code>&lt;</code><code>value</code><code>&gt;com/model/student.hbm.xml&lt;/</code><code>value</code><code>&gt;</code>

<code>085</code>

<code>            </code><code>&lt;/</code><code>list</code><code>&gt;</code>

<code>086</code>

<code>087</code>

<code>088</code>

<code>089</code>

<code>    </code><code>&lt;!-- 配置事務攔截器 --&gt;</code>

<code>090</code>

<code>id</code><code>=</code><code>"transactionmanager"</code>

<code>091</code>

<code>        </code><code>class</code><code>=</code><code>"org.springframework.orm.hibernate3.hibernatetransactionmanager"</code><code>&gt;</code>

<code>092</code>

<code>name</code><code>=</code><code>"sessionfactory"</code>

<code>ref</code><code>=</code><code>"sessionfactory"</code>

<code>093</code>

<code>094</code>

<code>095</code>

<code>    </code><code>&lt;</code><code>tx:advice</code>

<code>id</code><code>=</code><code>"txadvice"</code>

<code>transaction-manager</code><code>=</code><code>"transactionmanager"</code><code>&gt;</code>

<code>096</code>

<code>        </code><code>&lt;</code><code>tx:attributes</code><code>&gt;</code>

<code>097</code>

<code>            </code><code>&lt;</code><code>tx:method</code>

<code>name</code><code>=</code><code>"save*"</code>

<code>propagation</code><code>=</code><code>"required"</code>

<code>/&gt;</code><code>&lt;!-- 隻有一save、delete、update開頭的方法才能執行增删改操作 --&gt;</code>

<code>098</code>

<code>name</code><code>=</code><code>"delete*"</code>

<code>099</code>

<code>name</code><code>=</code><code>"update*"</code>

<code>100</code>

<code>name</code><code>=</code><code>"*"</code>

<code>propagation</code><code>=</code><code>"supports"</code>

<code>read-only</code><code>=</code><code>"true"</code>

<code>/&gt;</code><code>&lt;!-- 其他方法為隻讀方法 --&gt;</code>

<code>101</code>

<code>        </code><code>&lt;/</code><code>tx:attributes</code><code>&gt;</code>

<code>102</code>

<code>    </code><code>&lt;/</code><code>tx:advice</code><code>&gt;</code>

<code>103</code>

<code>104</code>

<code>    </code><code>&lt;</code><code>aop:config</code><code>&gt;</code>

<code>105</code>

<code>        </code><code>&lt;</code><code>aop:pointcut</code>

<code>id</code><code>=</code><code>"interceptorpointcuts"</code> 

<code>expression</code><code>=</code><code>"execution(* com.serviceimpl..*.*(..))"</code>

<code>/&gt; </code><code>&lt;!-- 對應實作類接口的包的位置 --&gt;</code>

<code>106</code>

<code>        </code><code>&lt;</code><code>aop:advisor</code>

<code>advice-ref</code><code>=</code><code>"txadvice"</code>

<code>pointcut-ref</code><code>=</code><code>"interceptorpointcuts"</code>

<code>107</code>

<code>    </code><code>&lt;/</code><code>aop:config</code><code>&gt;</code>

<code>108</code>

<code>109</code>

11、在控制層編寫studentaction.java類型

<code>package</code> <code>com.action;</code>

<code>import</code> <code>javax.servlet.http.httpservletrequest;</code>

<code>import</code> <code>javax.servlet.http.httpservletresponse;</code>

<code>import</code> <code>net.sf.json.jsonobject;</code>

<code>import</code> <code>org.apache.log4j.logger;</code>

<code>import</code> <code>org.apache.struts2.servletactioncontext;</code>

<code>public</code> <code>class</code> <code>studentaction {</code>

<code>    </code><code>static</code>

<code>logger log = logger.getlogger(studentaction.</code><code>class</code><code>);</code>

<code>jsonobject jsonobj;</code>

<code>string rows;</code><code>// 每頁顯示的記錄數</code>

<code>string page;</code><code>// 目前第幾頁</code>

<code>studentservice student_services;</code><code>//string依賴注入</code>

<code>    </code><code>//查詢出所有學生資訊</code>

<code>string getallstudent()</code><code>throws</code>

<code>exception {</code>

<code>        </code><code>log.info(</code><code>"查詢出所有學生資訊"</code><code>);     </code>

<code>        </code><code>list list = student_services.getstudentlist(page, rows);</code>

<code>        </code><code>this</code><code>.tobejson(list,student_services.getstudenttotal());</code>

<code>null</code><code>;</code>

<code>    </code><code>//轉化為json格式</code>

<code>       </code><code>public</code>

<code>void</code> <code>tobejson(list list,</code><code>int</code>

<code>total)</code><code>throws</code> <code>exception{</code>

<code>            </code><code>httpservletresponse response = servletactioncontext.getresponse();</code>

<code>            </code><code>httpservletrequest request = servletactioncontext.getrequest();</code>

<code>            </code> 

<code>            </code><code>jsonobject jobj =</code><code>new</code> <code>jsonobject();</code><code>//new一個json</code>

<code>            </code><code>jobj.accumulate(</code><code>"total"</code><code>,total );</code><code>//total代表一共有多少資料</code>

<code>            </code><code>jobj.accumulate(</code><code>"rows"</code><code>, list);</code><code>//row是代表顯示的頁的資料</code>

<code>            </code><code>response.setcharacterencoding(</code><code>"utf-8"</code><code>);</code><code>//指定為utf-8</code>

<code>42</code>

<code>            </code><code>response.getwriter().write(jobj.tostring());</code><code>//轉化為json格式</code>

<code>43</code>

<code>44</code>

<code>            </code><code>log.info(jobj.tostring());</code>

<code>45</code>

<code>       </code><code>}</code>

<code>46</code>

<code>       </code> 

<code>47</code>

<code>48</code>

<code>studentservice getstudent_services() {</code>

<code>49</code>

<code>student_services;</code>

<code>50</code>

<code>51</code>

<code>52</code>

<code>void</code> <code>setstudent_services(studentservice student_services) {</code>

<code>53</code>

<code>        </code><code>this</code><code>.student_services = student_services;</code>

<code>54</code>

<code>55</code>

<code>56</code>

<code>void</code> <code>setjsonobj(jsonobject jsonobj) {</code>

<code>57</code>

<code>        </code><code>this</code><code>.jsonobj = jsonobj;</code>

<code>58</code>

<code>59</code>

<code>60</code>

<code>void</code> <code>setrows(string rows) {</code>

<code>61</code>

<code>        </code><code>this</code><code>.rows = rows;</code>

<code>62</code>

<code>63</code>

<code>64</code>

<code>void</code> <code>setpage(string page) {</code>

<code>65</code>

<code>        </code><code>this</code><code>.page = page;</code>

<code>66</code>

<code>67</code>

<code>68</code>

<code>69</code>

<code>70</code>

12、編寫spring的依賴注入applicationcontext_bean.xml配置檔案

<code>    </code><code>&lt;!-- 業務層service --&gt;</code>

<code>id</code><code>=</code><code>"student_service"</code>

<code>class</code><code>=</code><code>"com.serviceimpl.studentserviceimpl"</code><code>&gt;</code>

<code>name</code><code>=</code><code>"sessionfactory"</code><code>&gt;</code>

<code>             </code><code>&lt;</code><code>ref</code>

<code>bean</code><code>=</code><code>"sessionfactory"</code><code>&gt;&lt;/</code><code>ref</code><code>&gt;</code>

<code>    </code><code>&lt;!-- 控制層action --&gt;</code>

<code>id</code><code>=</code><code>"student_action"</code>

<code>class</code><code>=</code><code>"com.action.studentaction"</code><code>&gt;</code>

<code>name</code><code>=</code><code>"student_services"</code><code>&gt;</code>

<code>bean</code><code>=</code><code>"student_service"</code>

13、編寫struts.xml配置檔案

<code>&lt;!doctype struts public</code>

<code>"-//apache software foundation//dtd struts configuration 2.0//en"</code>

<code>"http://struts.apache.org/dtds/struts-2.0.dtd"&gt;</code>

<code>&lt;</code><code>struts</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>package</code>

<code>name</code><code>=</code><code>"easyui"</code>

<code>extends</code><code>=</code><code>"json-default"</code><code>&gt;</code>

<code>        </code><code>&lt;!-- 學生資訊 --&gt;</code>

<code>        </code><code>&lt;</code><code>action</code>

<code>name</code><code>=</code><code>"getallstudentaction"</code>

<code>class</code><code>=</code><code>"student_action"</code>

<code>method</code><code>=</code><code>"getallstudent"</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>result</code>

<code>type</code><code>=</code><code>"json"</code><code>&gt; &lt;/</code><code>result</code><code>&gt;</code>

<code>        </code><code>&lt;/</code><code>action</code><code>&gt;</code>

<code>    </code><code>&lt;/</code><code>package</code><code>&gt;</code>

<code>&lt;/</code><code>struts</code><code>&gt;</code>

14、編寫jsp----index.jsp

<code>&lt;%@ page language="java" pageencoding="utf-8" iselignored="false"%&gt;</code>

<code>&lt;%</code>

<code>    </code><code>string path = request.getcontextpath();</code>

<code>%&gt;</code>

<code>&lt;%@ taglib prefix="s" uri="/struts-tags"%&gt;</code>

<code>&lt;!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd"&gt;</code>

<code>&lt;</code><code>html</code><code>&gt;</code>

<code>&lt;</code><code>head</code><code>&gt;</code>

<code>&lt;</code><code>meta</code>

<code>http-equiv</code><code>=</code><code>"content-type"</code>

<code>content</code><code>=</code><code>"text/html; charset=utf-8"</code><code>&gt;</code>

<code>&lt;</code><code>title</code><code>&gt;數字框&lt;/</code><code>title</code><code>&gt;</code>

<code>&lt;!-- 引入jquery --&gt;</code>

<code>&lt;</code><code>script</code>

<code>type</code><code>=</code><code>"text/javascript"</code>  

<code>src="&lt;%=path%&gt;/js/easyui/jquery-1.8.0.min.js" charset="utf-8"&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>&lt;!-- 引入jquery_easyui --&gt;</code>

<code>src="&lt;%=path%&gt;/js/easyui/jquery.easyui.min.js" charset="utf-8"&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>&lt;!-- 引入easyui國際化--中文 --&gt;</code>

<code>src="&lt;%=path%&gt;/js/easyui/locale/easyui-lang-zh_cn.js" charset="utf-8"&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>&lt;!-- 引入easyui預設的css格式--藍色 --&gt;</code>

<code>&lt;</code><code>link</code>

<code>rel</code><code>=</code><code>"stylesheet"</code>

<code>type</code><code>=</code><code>"text/css"</code>  

<code>href="&lt;%=path%&gt;/js/easyui/themes/default/easyui.css" /&gt;</code>

<code>&lt;!-- 引入easyui小圖示 --&gt;</code>

<code>href="&lt;%=path%&gt;/js/easyui/themes/icon.css" /&gt;</code>

<code>type</code><code>=</code><code>"text/javascript"</code><code>&gt;</code>

<code>    </code><code>$(function() {</code>

<code>        </code><code>$('#mydatagrid').datagrid({</code>

<code>            </code><code>title : 'datagrid執行個體',</code>

<code>            </code><code>iconcls : 'icon-ok',</code>

<code>            </code><code>width : 600,</code>

<code>            </code><code>pagesize : 5,//預設選擇的分頁是每頁5行資料</code>

<code>            </code><code>pagelist : [ 5, 10, 15, 20 ],//可以選擇的分頁集合</code>

<code>            </code><code>nowrap : true,//設定為true,當資料長度超出列寬時将會自動截取</code>

<code>            </code><code>striped : true,//設定為true将交替顯示行背景。</code>

<code>            </code><code>collapsible : true,//顯示可折疊按鈕</code>

<code>            </code><code>toolbar:"#tb",//在添加 增添、删除、修改操作的按鈕要用到這個</code>

<code>            </code><code>url:'getallstudentaction.action',//url調用action方法</code>

<code>            </code><code>loadmsg : '資料裝載中......',</code>

<code>            </code><code>singleselect:true,//為true時隻能選擇單行</code>

<code>            </code><code>fitcolumns:true,//允許表格自動縮放,以适應父容器</code>

<code>            </code><code>//sortname : 'xh',//當資料表格初始化時以哪一列來排序</code>

<code>            </code><code>//sortorder : 'desc',//定義排序順序,可以是'asc'或者'desc'(正序或者倒序)。</code>

<code>            </code><code>remotesort : false,</code>

<code>             </code><code>frozencolumns : [ [ {</code>

<code>                </code><code>field : 'ck',</code>

<code>                </code><code>checkbox : true</code>

<code>            </code><code>} ] ],</code>

<code>            </code><code>pagination : true,//分頁</code>

<code>            </code><code>rownumbers : true//行數</code>

<code>        </code><code>});</code>

<code>    </code><code>});</code>

<code>&lt;/</code><code>script</code><code>&gt;</code>

<code>&lt;/</code><code>head</code><code>&gt;</code>

<code>&lt;</code><code>body</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>h2</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>b</code><code>&gt;easyui的datagrid執行個體&lt;/</code><code>b</code><code>&gt;</code>

<code>    </code><code>&lt;/</code><code>h2</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>table</code>

<code>id</code><code>=</code><code>"mydatagrid"</code><code>&gt;</code>

<code>       </code><code>&lt;</code><code>thead</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>tr</code><code>&gt;</code>

<code>                </code><code>&lt;</code><code>th</code>

<code>data-options</code><code>=</code><code>"field:'studentid',width:100,align:'center'"</code><code>&gt;學生學号&lt;/</code><code>th</code><code>&gt;</code>

<code>data-options</code><code>=</code><code>"field:'name',width:100,align:'center'"</code><code>&gt;姓名&lt;/</code><code>th</code><code>&gt;</code>

<code>data-options</code><code>=</code><code>"field:'gender',width:100,align:'center'"</code><code>&gt;性别&lt;/</code><code>th</code><code>&gt;</code>

<code>data-options</code><code>=</code><code>"field:'age',width:100,align:'center'"</code><code>&gt;年齡&lt;/</code><code>th</code><code>&gt;</code>

<code>            </code><code>&lt;/</code><code>tr</code><code>&gt;</code>

<code>        </code><code>&lt;/</code><code>thead</code><code>&gt;</code>

<code>    </code><code>&lt;/</code><code>table</code><code>&gt;</code>

<code>   </code> 

<code>&lt;/</code><code>body</code><code>&gt;</code>

<code>71</code>

<code>&lt;/</code><code>html</code><code>&gt;</code>

來自:http://blog.csdn.net/lhq13400526230/article/details/9158111