javascript - Spring MVC 控制器所需的 JS 中创建的元素的值
问题描述
我在 javascript 中创建了一个输入标签,并为其提供了属性name
,
var tdTotalEmployees = row.insertCell(k++);
tdTotalEmployees.innerHTML = rowData.totEmployees !== null ? '<a href="../emp_list_sm/employee_details?ym=' + rowData.yyyymm + '&s=' + false + '&h=' + true + '" style="color: #0e90d2; text-align:center" target="_blank"><h4>' + rowData.totEmployees + '</h4></a><input type="hidden" name="migrationRef" value=' + rowData.migrationReference + '>' : ' ------ ';
现在像往常一样,我的控制器中需要这个变量值,我用@RequestParam("migrationRef")String migrationRef
它没用,
我使用 SOUT on request.getParameter("migrationRef")
,它显示为空。表示没有提供任何值,但是当我检查元素时,我清楚地看到了这个元素的值
@RequestMapping(value = "/employee_details")
private ModelAndView getEmployeeList(HttpServletRequest request) {
ModelAndView mav = new ModelAndView("migrate_salary_hr/pre_migration_emp_list");
HttpSession session = request.getSession();
Userdetail loginUser = (Userdetail) session.getAttribute("loginUser");
System.out.println("migration ref no" +request.getParameter("migrationRef") );
try {
mav.addObject("yearMonth", request.getParameter("ym"));
mav.addObject("status", request.getParameter("s"));
mav.addObject("historyList", request.getParameter("h"));
if (loginUser.getEmployee().getRegion().getRegionId() != null && loginUser.getEmployee().getCircle() != null) {
mav.addObject("Region", loginUser.getEmployee().getRegion().getRegionId());
mav.addObject("circle", loginUser.getEmployee().getCircle().getCircleId());
} else {
mav.addObject("Region", loginUser.getEmployee().getRegion().getRegionId());
}
mav.addObject("orderBy", OrderByMap.PREMIGRATIONEMPLIST_ORDERBY);
} catch (Exception e) {
e.printStackTrace();
}
return mav;
}
请建议我最好的解决方案。
解决方案
migrationRef
单击链接时,隐藏输入的值不会发送到服务器。这就是为什么你看不到它的服务器端。
我可以看到两种方法来解决这个问题:
要么将参数添加
migrationRef
到href
链接的属性中,然后删除无用的<input type="hidden" ...
或者,如果您真的不想
migrationRef
在 URL 中看到参数,则必须使用表单发布它。在这种情况下,action
表单的属性应该是 likeaction="../emp_list_sm/employee_details?ym=...&s=...&h=..."
。然后在 Spring MVC 控制器中,您将不得不使用具有属性的 Java Bean 来@ModelAttribute
代替。@RequestParam
migrationRef
推荐阅读
- python - 无法更改 Scrapy Spider 的设置
- angular - 为什么使用 MAT_DIALOG_DATA 将数据传递给角度材质对话框
- tensorflow - tensorflow 中是否有类似 Pytorch 中的 load_state_dict() 的函数?
- php - 如何返回变量而不是字符串?
- string - 返回 csv 文件的所有行,除了 Clojure 中的第一行
- r - 如何更改列类型`
`到` 在r中使用`read_xlsx`或`read_excel`的`col_types`? - spring - 更正您的应用程序兼容版本的 javax.servlet.ServletContext 的类路径?
- android - HM-10 作为 BLE 监听器:从它建立一个简短的连接
- python - 使用 pytorch 中的函数计算二元熵损失
- regex - 通过正则表达式更改配置文件的设置值