Index: branches/feature-module-update/data/class/pages/LC_Page.php
===================================================================
--- branches/feature-module-update/data/class/pages/LC_Page.php	(revision 15218)
+++ branches/feature-module-update/data/class/pages/LC_Page.php	(revision 15301)
@@ -5,4 +5,7 @@
  * http://www.lockon.co.jp/
  */
+
+// {{{ requires
+require_once(DATA_PATH . 'module/Net/URL.php');
 
 /**
@@ -89,4 +92,5 @@
      * @return void|boolean $url に SITE_URL 及び, SSL_URL を含まない場合 false,
      * 						 正常に遷移可能な場合は, $url の URL へ遷移する.
+     * @see Net_URL
      */
     function sendRedirect($url) {
@@ -95,9 +99,10 @@
                           . "|" . preg_quote(SSL_URL, '/') . ")/", $url)) {
 
-            $suffix = "?";
+            $netURL = new Net_URL($url);
             if (!empty($_SERVER['QUERY_STRING'])) {
-                $suffix = "&";
+                $netURL->addRawQueryString($_SERVER['QUERY_STRING']);
             }
-            header("Location: " . $url . $suffix . TRANSACTION_ID_NAME . "=" . $this->getToken());
+            $netURL->addQueryString(TRANSACTION_ID_NAME, $this->getToken());
+            header("Location: " . $netURL->getURL());
         }
         return false;
@@ -186,4 +191,5 @@
      *                              $_SERVER['DOCUMENT_ROOT'] が付与される.
      * @return string $path の存在する http(s):// から始まる絶対パス
+     * @see Net_URL
      */
     function getLocation($path, $param = array(), $useSSL = false, $documentRoot = "") {
@@ -216,22 +222,36 @@
         }
 
+        $netURL = new Net_URL($url);
         // QUERY_STRING 生成
-        $queryString = "";
-        $i = count($param);
         foreach ($param as $key => $val) {
-            $queryString .= $key . "=" . $val;
-
-            if ($i > 1) {
-                $queryString .= "&";
+            $netURL->addQueryString($key, $val);
+        }
+
+        return $netURL->getURL();
+    }
+
+    /**
+     * ページをリロードする.
+     *
+     * 引数 $queryString に, $_SERVER['QUERY_STRING'] の値を使用してはならない.
+     * この関数は, 内部で LC_Page::sendRedirect() を使用するため,
+     * $_SERVER['QUERY_STRING'] の値は自動的に付与される.
+     *
+     * @param array $queryString QueryString の配列
+     * @return void
+     * @see Net_URL
+     */
+    function reload($queryString = array()) {
+
+        // 現在の URL を取得
+        $netURL = new Net_URL();
+
+        // QueryString を付与
+        if (!empty($queryString)) {
+            foreach ($queryString as $key => $val) {
+                $netURL->addQueryString($key, $val);
             }
-            $i--;
-        }
-
-        // QUERY_STRING が存在する場合は付与して返す.
-        if (empty($queryString)) {
-            return $url;
-        } else {
-            return $url . "?" . $queryString;
-        }
+        }
+        $this->sendRedirect($netURL->getURL());
     }
 
