iT邦幫忙

2026 iThome 鐵人賽

0
JavaScript

30天從零打造醫療資訊小系統系列 第 24 篇

Day 27|改善使用者介面:讓病患清單更清楚、更好操作

  • 分享至 

  • xImage
  •  

一、功能完成後,為什麼還要調整介面?

在開發初期,我們通常會先確認功能能不能正常運作,例如新增資料、查詢病患、修改紀錄與刪除資料。

但是,功能正常不代表使用體驗就很好。

如果按鈕的位置不一致、欄位太擁擠,或是沒有提示使用者目前在哪個頁面,即使系統能正常運作,也可能讓使用者感到困惑。

今天要利用 HTML 與 CSS,為醫療資訊小系統建立更清楚的操作介面。

二、先統一頁面的基本樣式

可以在專案中新增 css/style.css:

  • {
    box-sizing: border-box;
    }
    body {
    margin: 0;
    font-family: Arial, "Noto Sans TC", sans-serif;
    background: #f4f7fb;
    color: #263238;
    }
    .header {
    padding: 20px 28px;
    background: #176b67;
    color: white;
    }
    .container {
    width: min(1100px, 92%);
    margin: 28px auto;
    }
    .card {
    padding: 24px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    }
    h1, h2 {
    margin-top: 0;
    }
    button, .btn {
    display: inline-block;
    padding: 9px 16px;
    border: 0;
    border-radius: 6px;
    background: #176b67;
    color: white;
    text-decoration: none;
    cursor: pointer;
    }
    button:hover, .btn:hover {
    background: #10534f;
    }
    input, select {
    width: 100%;
    padding: 10px;
    margin-top: 6px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    }
    table {
    width: 100%;
    border-collapse: collapse;
    background: white;
    }
    th, td {
    padding: 12px;
    border-bottom: 1px solid #e5e7eb;
    text-align: left;
    }
    th {
    background: #e8f4f2;
    }
    tr:hover {
    background: #f8fbfb;
    }

接著在 JSP 的 中引用:

使用 contextPath 可以避免專案部署路徑不同時,CSS 無法正確載入。

三、替病患清單加上清楚的版面

在 patient-list.jsp 中,可以將主要內容放入統一的容器:

這裡的 /patient/add 只是示意網址,請依照自己專案實際使用的 Servlet 路徑調整。

另外,病患資料表格如果欄位太多,可以考慮將次要資訊移到詳細資料頁面,避免清單一次呈現太多內容。

四、加入空資料提示

如果資料庫中還沒有任何病患,直接顯示空白表格會讓人以為系統出錯。

使用 JSTL 時,可以依照清單是否為空,顯示不同內容:

<c:choose>
<c:when test="${empty patients}">
目前沒有符合條件的資料。
</c:when>
<c:otherwise>

</c:otherwise>
</c:choose>

這裡假設 Servlet 已經將清單存入名為 patients 的 request attribute。

五、介面設計也要考慮使用情境

醫療資訊系統的介面不應只追求好看,還要讓操作清楚、減少誤操作。

例如:

  • 必填欄位要清楚標示。
  • 刪除按鈕應與一般操作有所區別,並考慮二次確認。
  • 表單錯誤應顯示具體原因,而不是只寫「失敗」。
  • 文字與背景要有足夠對比。
  • 不應在首頁或清單中展示不必要的敏感資訊。

如果未來要讓系統在手機上使用,也要進一步調整表格的呈現方式與按鈕大小。

六、今日小結

今天透過 CSS 統一了系統的顏色、間距、按鈕與表格樣式,也加入空資料提示。

良好的介面設計能降低學習成本,讓使用者更容易找到需要的功能。

下一篇,我們要回到系統安全與錯誤處理,確認當程式出錯或收到不合理的請求時,不會直接洩漏內部資訊。


上一篇
Day 26|加入登入功能:使用 Session 記錄登入狀態
下一篇
Day 28|基本安全與錯誤處理:不要讓系統把內部資訊直接顯示出來
系列文
30天從零打造醫療資訊小系統 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言