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

在Java中如何获取名称为方法与字符串组合的隐藏输入字段数据

获取动态拼接名称的隐藏<input>字段数据

首先得明确:你的隐藏字段名称是通过abc类实例的getName()方法返回值,再拼接字符串"Name"生成的——比如如果p.getName()返回"user",那实际字段名就是"userName"。接下来分两种常见的后端处理场景,给你具体的实现方式:

1. 后端用JSP接收(比如你的abcd.jsp)

在接收请求的JSP里,核心思路是和前端保持完全一致的字段名拼接逻辑,再通过请求对象获取对应值:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="h.abc" %>
<%
    // 先创建相同的abc实例,生成和前端一致的字段名
    abc p = new abc();
    String targetFieldName = p.getName() + "Name";
    
    // 通过request对象拿到隐藏字段的值
    String hiddenValue = request.getParameter(targetFieldName);
    
    // 可以输出测试结果
    out.println("隐藏字段的值:" + hiddenValue);
%>

2. 后端用Servlet接收

如果用Servlet处理表单提交,逻辑也是一样的,先匹配字段名再取值:

import h.abc;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/abcd")
public class AbcdServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 生成和前端完全一致的字段名
        abc p = new abc();
        String targetFieldName = p.getName() + "Name";
        
        // 获取隐藏字段的值
        String hiddenValue = request.getParameter(targetFieldName);
        
        // 后续可根据业务需求处理该值,比如返回给前端或存入数据库
        response.getWriter().write("获取到的隐藏字段值:" + hiddenValue);
    }
}

小提醒

要保证前后端abc实例的getName()返回结果一致——如果这个方法的返回值和实例状态有关,要确保生成字段名时的实例状态和前端渲染时完全相同,不然会找不到对应的字段哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:26:59