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

JSP页面如何将用户名传递给同页模态框并提交到Struts2后端

可行解决方案

方案1:通过表单隐藏域传递值(推荐,改动最小)

你现有代码的首要问题是删除按钮的语法错误:你把Bootstrap模态框的触发属性写在了onclick事件内部,会导致JS执行失败。按以下步骤改造即可:

  1. 在主页面表单内新增name为username的隐藏输入框,同时修正删除按钮语法:
<%-- Page.jsp --%>
<form>
  <!-- 新增隐藏字段存储要删除的用户名 -->
  <input type="hidden" name="username" id="delUsername" value="">
  <!-- 其他原有表单内容 -->

  <!-- 修正后的删除按钮,${user.username}替换为你实际取用户名的变量 -->
  <button onclick="document.getElementById('delUsername').value='${user.username}'" 
          data-toggle="modal" data-target="#myModal">
     <fmt:message key='Delete user'/>
  </button>
</form>
<jsp:include page="deleteUserModal.jsp"/>
  1. 简化模态框提交逻辑,不需要重复给username赋值,点击删除按钮时已经完成赋值:
<%-- Modal.jsp --%>
<button onclick="document.forms[0].action='deleteMethod';document.forms[0].submit();">
  <fmt:message key='delete'/>
</button>

方案2:通过模态框事件传递值

如果你不想占用全局表单的隐藏字段,可以用Bootstrap模态框的事件机制传值:

  1. 给删除按钮加自定义属性存储用户名:
<button data-username="${user.username}" data-toggle="modal" data-target="#myModal">
  <fmt:message key='Delete user'/>
</button>
  1. 主页面新增JS监听模态框显示事件,拿到要删除的用户名暂存:
$('#myModal').on('show.bs.modal', function (event) {
  var triggerBtn = $(event.relatedTarget)
  var username = triggerBtn.data('username')
  // 将用户名暂存到模态框的自定义属性中
  $(this).data('currentDelUser', username)
})
  1. 模态框提交时取出暂存的用户名赋值提交:
<%-- Modal.jsp --%>
<button onclick="document.forms[0].username.value=$('#myModal').data('currentDelUser');document.forms[0].action='deleteMethod';document.forms[0].submit();">
  <fmt:message key='delete'/>
</button>

Struts2后端接收配置

只需要在对应的Action类中定义username属性,添加对应的getter、setter方法,Struts2会自动将提交的参数注入:

public class UserAction extends ActionSupport {
    private String username;
    // 必须添加get/set方法
    public String getUsername() {return username;}
    public void setUsername(String username) {this.username = username;}
    
    public String deleteMethod() {
        // 直接使用username属性即可拿到要删除的用户名
        return SUCCESS;
    }
}

内容的提问来源于stack exchange,提问作者Amirak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:24:04