You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Struts框架JSP中s:select值传至Action获取为null问题求助

问题原因排查与解决方案

核心问题:JavaBean getter/setter 命名不符合规范

Struts2的参数注入依赖OGNL表达式,严格遵循JavaBean命名规范:属性名首字母小写时,对应的get/set方法需要将属性名首字母大写。
你当前Action中urgency属性的get/set方法命名错误:

// 错误写法:方法名中urgency首字母未大写
public String geturgency() {
    return urgency;
}
public void seturgency(String urgency) {
    this.urgency = urgency;
}

修正为符合规范的写法即可解决参数注入问题:

// 正确写法
public String getUrgency() {
    return urgency;
}
public void setUrgency(String urgency) {
    this.urgency = urgency;
}

其他可排查项(修改命名后仍未生效时验证)

  • 确认UrgencyList集合的初始化逻辑:确保JSP渲染下拉框时,生成的option的value值正常,无空值情况
  • 验证前端参数是否正常提交:在Save方法最开头加入日志打印所有请求参数,确认前端是否携带了urgency参数:
ActionContext actionContext = ActionContext.getContext();
Map<?,?> data=actionContext.getParameters();
// 打印验证参数传递情况
Log.info(getClass(), "请求参数集合:" + data.keySet());
Log.info(getClass(), "urgency参数值:" + data.get("urgency"));

如果日志能正常打印urgency的参数值,就完全确认是setter命名规范问题导致的注入失败。

内容的提问来源于stack exchange,提问作者Kim Ivan Bay-an

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 16:18:01