JSP 表單提交 ausCardcode、ausUsername,Controller 中 map.get(...) 取不到值。
Map 參數在 SpringMVC 中不會自動綁定請求參數。Map 僅用於向視圖傳遞模型數據,不支持 @RequestParam 綁定。
public class UserQuery {
private String ausCardcode;
private String ausUsername;
// getter/setter
}
@RequestMapping("userInfo")
public String userInfo(UserQuery query, Model model) {
List<AusUsers> list = ausUsersMapper.allUser(query);
model.addAttribute("AusUser", list);
return "system/userInfo";
}
@RequestMapping("userInfo")
public String userInfo(
@RequestParam(value="ausCardcode", required=false) String cardcode,
@RequestParam(value="ausUsername", required=false) String username,
Model model) {
// 手動構建 Map 或 DTO 傳給 Mapper
}
<select id="allUser" resultType="AusUsers" parameterType="UserQuery">
SELECT * FROM AUS_USERS
WHERE 1=1
<if test="ausCardcode != null and ausCardcode != ''">
AND AUS_CARDCODE LIKE CONCAT('%', #{ausCardcode}, '%')
</if>
<if test="ausUsername != null and ausUsername != ''">
AND AUS_USERNAME LIKE CONCAT('%', #{ausUsername}, '%')
</if>
</select>
<form action="${basePath}user/userInfo" method="post"> 確保 action 路徑正確。name 屬性與 DTO 字段名一致(ausCardcode、ausUsername)。