【问题标题】:Setting field value from spring controller从弹簧控制器设置字段值
【发布时间】:2012-11-20 02:42:31
【问题描述】:

如何从 spring 控制器中设置隐藏的输入字段值(在 jsp 中)?

【问题讨论】:

  • 就像任何其他输入字段一样,例如使用<form:hidden path="myBean.myAttribute" />。请提供您的表单和控制器代码。
  • 如果您的控制器将值发送到 jsp 并转发到隐藏的另一个控制器,这就是方法..。 .如果您显示代码,我们可以提出一些建议...
  • @PratapMurukutla <form:input type="hidden" /> 可以(应该?)替换为<form:hidden />。
  • 我不想将它声明为bean...我的意思是,简单地说,当控制权交给控制器时,在返回jsp之前设置隐藏字段值说“1”..这样我就可以使用这个隐藏字段值
  • 你能更详细地解释你想要达到的目标吗?

标签: java spring spring-security


【解决方案1】:

您可以从数据库中获取一些值(id)(使用 findAllIdForUsers() 方法)并使用模型转发到您的 JSP:

@Autowired
ServiceInterface service;

    @RequestMapping(value = "example.html", method = RequestMethod.GET)
    public String viewUsers(Model model){       
    model.addAttribute("usersId", service.findAllIdForUsers());
    return "example";
    }

在 JSP 上,您可以在某个按钮上设置此 ID:

<c:forEach items="${ requestScope['users'] }" var="users">

<form action="<%=response.encodeURL(request.getContextPath() + "delete.html") %>" method="POST"> 
<input type="hidden" name="id" value="<c:out value="${ usersId.id }"/>" />
<input type="SUBMIT" value="Delete User" /></form>
</c:forEach>

然后单击按钮,您可以将 id 发送到另一个控制器并工作或删除该用户:

@RequestMapping(value = "delete.html", method = RequestMethod.POST)
    public String deleteUser(@RequestParam("id") int id, Model model) {
    service.delete(id);
    model.addAttribute("usersId", service.findAllIdForUsers());
        return "example";
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 2011-08-06
    相关资源
    最近更新 更多