You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by cs...@apache.org on 2006/10/17 17:42:28 UTC
svn commit: r464944 - in /beehive/trunk/netui:
src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/
test/webapps/drt/src/databinding/datagrid/j1120/
test/webapps/drt/testRecorder/config/ test/webapps/drt/testRecorder/tests...
Author: cschoett
Date: Tue Oct 17 08:42:22 2006
New Revision: 464944
URL: http://svn.apache.org/viewvc?view=rev&rev=464944
Log:
Fix for BEEHIVE-1120, modified the DefaultDataGridStateCodec to not include 'actionOverride' attributes for sorting links. Also added new BVT for this fix.
Tests: Netui BVT/DRTs passed
Added:
beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/
beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/Controller.java
beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ1120.xml
beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/
beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/index.jsp
Modified:
beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java
beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
Modified: beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java
URL: http://svn.apache.org/viewvc/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java?view=diff&rev=464944&r1=464943&r2=464944
==============================================================================
--- beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java (original)
+++ beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/runtime/config/DefaultDataGridStateCodec.java Tue Oct 17 08:42:22 2006
@@ -40,6 +40,7 @@
import org.apache.beehive.netui.databinding.datagrid.runtime.sql.SQLSupport;
import org.apache.beehive.netui.util.logging.Logger;
import org.apache.beehive.netui.util.Bundle;
+import org.apache.beehive.netui.pageflow.internal.InternalConstants;
/**
* <p>
@@ -72,7 +73,7 @@
private static final int DEFAULT_ROW = 0;
private boolean _decoded = false;
-
+
/**
* The ServletRequest needs to be processed such that the parameter values of
* interest are removed from the query param map. Then, the Map is stateless
@@ -273,6 +274,9 @@
_state.setPagerModel(pagerModel);
}
pagerModel.setPageSize(pageSize);
+ }
+ else if(key.startsWith(InternalConstants.ACTION_OVERRIDE_PREFIX)) {
+ // discard the param
}
else
addParam(key, values);
Added: beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/Controller.java
URL: http://svn.apache.org/viewvc/beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/Controller.java?view=auto&rev=464944
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/Controller.java (added)
+++ beehive/trunk/netui/test/webapps/drt/src/databinding/datagrid/j1120/Controller.java Tue Oct 17 08:42:22 2006
@@ -0,0 +1,97 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ * $Header:$
+ */
+package databinding.datagrid.j1120;
+
+import javax.servlet.http.HttpSession;
+
+import org.apache.beehive.netui.pageflow.Forward;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.annotations.Jpf;
+import java.util.List;
+import java.util.ArrayList;
+
+@Jpf.Controller(
+ simpleActions={
+ @Jpf.SimpleAction(name="begin", path="index.jsp")
+ }
+)
+public class Controller
+ extends PageFlowController
+{
+ public Pet[] pets;
+ public Pet[] getPets() { return pets; }
+
+ /**
+ * Method that is invoked when this controller instance is created.
+ */
+ protected void onCreate()
+ {
+ pets = new Pet[2];
+ pets[0] = new Pet("1", "dog", "white", "10.00");
+ pets[1] = new Pet("2", "dog", "purple", "10.00");
+ }
+
+ public class Pet {
+ private String _petId;
+ private String _name;
+ private String _description;
+ private String _price;
+
+ public Pet(String id, String name, String desc, String price) {
+ _petId = id;
+ _name = name;
+ _description = desc;
+ _price = price;
+ }
+ public String getPetId() { return _petId; }
+ public String getName() { return _name; }
+ public String getDescription() { return _description; }
+ public String getPrice() { return _price; }
+ }
+
+ protected void onDestroy(HttpSession session)
+ {
+ }
+
+ @Jpf.Action(
+ forwards={@Jpf.Forward(name="success", path="index.jsp")})
+ public Forward submit() {
+ Forward fwd = new Forward("success");
+ return fwd;
+ }
+
+ @Jpf.Action(
+ forwards={@Jpf.Forward(name="success", path="index.jsp")})
+ public Forward save() {
+ Forward fwd = new Forward("success");
+ return fwd;
+ }
+
+ @Jpf.Action(
+ forwards={@Jpf.Forward(name="success", path="index.jsp")})
+ public Forward sortingAction() {
+ Pet p = pets[0];
+ pets[0] = pets[1];
+ pets[1] = p;
+ Forward fwd = new Forward("success");
+ return fwd;
+ }
+}
Modified: beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: http://svn.apache.org/viewvc/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?view=diff&rev=464944&r1=464943&r2=464944
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml (original)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Tue Oct 17 08:42:22 2006
@@ -3161,6 +3161,22 @@
<feature>Data Grid</feature>
</features>
</test>
+ <test>
+ <name>DataGridJ1120</name>
+ <description>DataGridJ1120</description>
+ <webapp>coreWeb</webapp>
+ <categories>
+ <category>bvt</category>
+ <category>bvt.struts11</category>
+ <category>databinding</category>
+ <category>datagrid</category>
+ <category>jiraBugs</category>
+ </categories>
+ <features>
+ <feature>Databinding</feature>
+ <feature>Data Grid</feature>
+ </features>
+ </test>
<test>
<name>DataGridJavaScriptSmoke</name>
<description>DataGridJavaScriptSmoke</description>
Added: beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ1120.xml
URL: http://svn.apache.org/viewvc/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ1120.xml?view=auto&rev=464944
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ1120.xml (added)
+++ beehive/trunk/netui/test/webapps/drt/testRecorder/tests/DataGridJ1120.xml Tue Oct 17 08:42:22 2006
@@ -0,0 +1,461 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<recorderSession xmlns="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+<sessionName>DataGridJ1120</sessionName>
+<tester>cschoett</tester>
+<startDate>16 Oct 2006, 04:35:34.771 PM MDT</startDate>
+<description>Test for Jira-1120 bug fix.</description>
+<tests>
+<test>
+<testNumber>1</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/databinding/datagrid/j1120/index.jsp</uri>
+<method>GET</method>
+<parameters>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>537016EE529DDAC7CBD338EE4577CB0D</value>
+</cookie>
+<cookie>
+<name>JSESSIONID</name>
+<value>RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114</value>
+</cookie>
+<cookie>
+<name>ADMINCONSOLESESSION</name>
+<value>zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>---------------</name>
+<value>------------</value>
+</header>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=537016EE529DDAC7CBD338EE4577CB0D; JSESSIONID=RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114; ADMINCONSOLESESSION=zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <title>Test for Jira-1120 Fix</title>
+ <base href="http://localhost:8080/coreWeb/databinding/datagrid/j1120/index.jsp">
+ </head>
+ <body>
+
+ <p>
+ Click the save button, then click the sort column link.
+ The sort column link should cause the column to be re-sorted.
+ </p>
+ <form action="/coreWeb/databinding/datagrid/j1120/submit.do" method="post">
+ Page 1 of 1
+<table class="datagrid">
+
+
+
+
+
+<tr class="datagrid-header">
+ <th class="datagrid-sortable datagrid">Pet ID <a href="/coreWeb/databinding/datagrid/j1120/sortingAction.do?netui_sort=petGrid%3Bpetid"><img src="/coreWeb/resources/beehive/version1/images/sortable.gif" border="false"></a></th>
+
+
+ <th class="datagrid">Name</th>
+
+
+ <th class="datagrid">Description</th>
+
+
+ <th class="datagrid">Price</th>
+
+
+
+</tr>
+
+
+
+
+<tr class="datagrid-even">
+ <td class="datagrid"><span>1</span></td>
+
+ <td class="datagrid"><span>dog</span></td>
+
+ <td class="datagrid"><span>white</span></td>
+
+ <td class="datagrid"><span>10.00</span></td>
+
+
+</tr>
+<tr class="datagrid-odd">
+ <td class="datagrid"><span>2</span></td>
+
+ <td class="datagrid"><span>dog</span></td>
+
+ <td class="datagrid"><span>purple</span></td>
+
+ <td class="datagrid"><span>10.00</span></td>
+
+
+</tr>
+ </table>
+
+
+ <input type="submit" name="actionOverride:save" value="save">
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>2</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/databinding/datagrid/j1120/submit.do</uri>
+<method>POST</method>
+<parameters>
+<parameter>
+<name>actionOverride:save</name>
+<value>save</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>537016EE529DDAC7CBD338EE4577CB0D</value>
+</cookie>
+<cookie>
+<name>JSESSIONID</name>
+<value>RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114</value>
+</cookie>
+<cookie>
+<name>ADMINCONSOLESESSION</name>
+<value>zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>---------------</name>
+<value>------------</value>
+</header>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>content-length</name>
+<value>26</value>
+</header>
+<header>
+<name>content-type</name>
+<value>application/x-www-form-urlencoded</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=537016EE529DDAC7CBD338EE4577CB0D; JSESSIONID=RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114; ADMINCONSOLESESSION=zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/databinding/datagrid/j1120/index.jsp</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <title>Test for Jira-1120 Fix</title>
+ <base href="http://localhost:8080/coreWeb/databinding/datagrid/j1120/index.jsp">
+ </head>
+ <body>
+
+ <p>
+ Click the save button, then click the sort column link.
+ The sort column link should cause the column to be re-sorted.
+ </p>
+ <form action="/coreWeb/databinding/datagrid/j1120/submit.do" method="post">
+ Page 1 of 1
+<table class="datagrid">
+
+
+
+
+
+<tr class="datagrid-header">
+ <th class="datagrid-sortable datagrid">Pet ID <a href="/coreWeb/databinding/datagrid/j1120/sortingAction.do?netui_sort=petGrid%3Bpetid"><img src="/coreWeb/resources/beehive/version1/images/sortable.gif" border="false"></a></th>
+
+
+ <th class="datagrid">Name</th>
+
+
+ <th class="datagrid">Description</th>
+
+
+ <th class="datagrid">Price</th>
+
+
+
+</tr>
+
+
+
+
+<tr class="datagrid-even">
+ <td class="datagrid"><span>1</span></td>
+
+ <td class="datagrid"><span>dog</span></td>
+
+ <td class="datagrid"><span>white</span></td>
+
+ <td class="datagrid"><span>10.00</span></td>
+
+
+</tr>
+<tr class="datagrid-odd">
+ <td class="datagrid"><span>2</span></td>
+
+ <td class="datagrid"><span>dog</span></td>
+
+ <td class="datagrid"><span>purple</span></td>
+
+ <td class="datagrid"><span>10.00</span></td>
+
+
+</tr>
+ </table>
+
+
+ <input type="submit" name="actionOverride:save" value="save">
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+<test>
+<testNumber>3</testNumber>
+<request>
+<protocol>HTTP</protocol>
+<protocolVersion>1.1</protocolVersion>
+<host>localhost</host>
+<port>8080</port>
+<uri>/coreWeb/databinding/datagrid/j1120/sortingAction.do</uri>
+<method>GET</method>
+<parameters>
+<parameter>
+<name>netui_sort</name>
+<value>petGrid;petid</value>
+</parameter>
+</parameters>
+<cookies>
+<cookie>
+<name>JSESSIONID</name>
+<value>537016EE529DDAC7CBD338EE4577CB0D</value>
+</cookie>
+<cookie>
+<name>JSESSIONID</name>
+<value>RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114</value>
+</cookie>
+<cookie>
+<name>ADMINCONSOLESESSION</name>
+<value>zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</cookie>
+</cookies>
+<headers>
+<header>
+<name>---------------</name>
+<value>------------</value>
+</header>
+<header>
+<name>accept</name>
+<value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</value>
+</header>
+<header>
+<name>accept-charset</name>
+<value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</value>
+</header>
+<header>
+<name>accept-language</name>
+<value>en-us,en;q=0.5</value>
+</header>
+<header>
+<name>connection</name>
+<value>keep-alive</value>
+</header>
+<header>
+<name>cookie</name>
+<value>JSESSIONID=537016EE529DDAC7CBD338EE4577CB0D; JSESSIONID=RwWhFzzR2w2x8kd21PN5rh01RLf6KrYWJhv8G0lGcChLh13mWkL1!1387151114; ADMINCONSOLESESSION=zvsjFn7dG12Zfgqv0TnQM8hJqngRNCfrWmPdpyFsmT1bqlf4rGlQ!536404599</value>
+</header>
+<header>
+<name>host</name>
+<value>localhost:8080</value>
+</header>
+<header>
+<name>keep-alive</name>
+<value>300</value>
+</header>
+<header>
+<name>referer</name>
+<value>http://localhost:8080/coreWeb/databinding/datagrid/j1120/submit.do</value>
+</header>
+<header>
+<name>user-agent</name>
+<value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7</value>
+</header>
+</headers>
+</request>
+<response>
+<statusCode>200</statusCode>
+<reason></reason>
+<responseBody>
+<![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+ <head>
+ <title>Test for Jira-1120 Fix</title>
+ <base href="http://localhost:8080/coreWeb/databinding/datagrid/j1120/index.jsp">
+ </head>
+ <body>
+
+ <p>
+ Click the save button, then click the sort column link.
+ The sort column link should cause the column to be re-sorted.
+ </p>
+ <form action="/coreWeb/databinding/datagrid/j1120/submit.do" method="post">
+ Page 1 of 1
+<table class="datagrid">
+
+
+
+
+
+<tr class="datagrid-header">
+ <th class="datagrid-sorted datagrid-sortable datagrid">Pet ID <a href="/coreWeb/databinding/datagrid/j1120/sortingAction.do?netui_sort=petGrid%3B-petid"><img src="/coreWeb/resources/beehive/version1/images/sortdown.gif" border="false"></a></th>
+
+
+ <th class="datagrid">Name</th>
+
+
+ <th class="datagrid">Description</th>
+
+
+ <th class="datagrid">Price</th>
+
+
+
+</tr>
+
+
+
+
+<tr class="datagrid-even">
+ <td class="datagrid"><span>2</span></td>
+
+ <td class="datagrid"><span>dog</span></td>
+
+ <td class="datagrid"><span>purple</span></td>
+
+ <td class="datagrid"><span>10.00</span></td>
+
+
+</tr>
+<tr class="datagrid-odd">
+ <td class="datagrid"><span>1</span></td>
+
+ <td class="datagrid"><span>dog</span></td>
+
+ <td class="datagrid"><span>white</span></td>
+
+ <td class="datagrid"><span>10.00</span></td>
+
+
+</tr>
+ </table>
+
+
+ <input type="submit" name="actionOverride:save" value="save">
+ </form>
+ </body>
+
+</html>]]>
+</responseBody>
+</response>
+</test>
+</tests>
+<endDate>16 Oct 2006, 04:35:57.724 PM MDT</endDate>
+<testCount>3</testCount>
+</recorderSession>
Added: beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/index.jsp
URL: http://svn.apache.org/viewvc/beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/index.jsp?view=auto&rev=464944
==============================================================================
--- beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/index.jsp (added)
+++ beehive/trunk/netui/test/webapps/drt/web/databinding/datagrid/j1120/index.jsp Tue Oct 17 08:42:22 2006
@@ -0,0 +1,56 @@
+<%--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ $Header:$
+--%>
+<%@ page language="java" contentType="text/html;charset=UTF-8"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0" prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-template-1.0" prefix="netui-template"%>
+<netui:html>
+ <head>
+ <title>Test for Jira-1120 Fix</title>
+ <netui:base/>
+ </head>
+ <netui:body>
+
+ <p>
+ Click the save button, then click the sort column link.
+ The sort column link should cause the column to be re-sorted.
+ </p>
+ <netui:form action="submit">
+ <netui-data:dataGrid dataSource="pageFlow.pets" name="petGrid">
+ <netui-data:header>
+ <netui-data:headerCell sortAction="sortingAction"
+ sortExpression="petid"
+ headerText="Pet ID">
+ Pet ID
+ </netui-data:headerCell>
+ <netui-data:headerCell headerText="Name"/>
+ <netui-data:headerCell headerText="Description"/>
+ <netui-data:headerCell headerText="Price"/>
+ </netui-data:header>
+ <netui-data:rows>
+ <netui-data:spanCell value="${container.item.petId}"/>
+ <netui-data:spanCell value="${container.item.name}"/>
+ <netui-data:spanCell value="${container.item.description}"/>
+ <netui-data:spanCell value="${container.item.price}"/>
+ </netui-data:rows>
+ </netui-data:dataGrid>
+ <netui:button action="save" value="save"/>
+ </netui:form>
+ </netui:body>
+</netui:html>