首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Struts 頁面光標定位難題:列表頁編輯檢查後精準歸位

     編輯:Java 相關知識

場景痛點

頁面包含「查詢頭部」與「明細列表」,列表每行可編輯。點擊「檢查」按鈕提交驗證後,頁面重載光標卻跳轉至列表首行或頭部,導致用戶無法定位剛編輯的行,體驗極差——尤其數據量大時。

解決方案:動態構建 focus_name

在 Action 轉發前,根據當前編輯行索引動態拼接焦點字段名:

// 判斷是否在明細區(list_start_index > 0 表示明細行)
if (Integer.parseInt(nyuuryokuForm.getList_start_index()) > 0) {
    nyuuryokuForm.setFocus_name(
        nyuuryokuForm.getFocus_name() + "+" + nyuuryokuForm.getList_start_index()
    );
} else {
    nyuuryokuForm.setFocus_name(nyuuryokuForm.getFocus_name());
}

req.setAttribute("webvo", resultVo);
setForwardString(req, "success"); // 轉發

原理說明

  • focus_name:前端 JS 讀取此屬性定位光標(如 document.forms[0][focus_name].focus())。
  • list_start_index:標識當前操作行在列表中的索引(0 為頭部)。
  • 拼接符 + 為約定分隔符,前端解析時按 + 分割定位具體行與字段。

無需修改前端框架,僅在服務端動態計算焦點標識,即可實現「驗證後光標精準回到編輯行」的交互體驗。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved