从两个豆到JSP获取数据



我有一个简单的注册。

这是我的JSP注册页面的一部分:

    <form class="form-horizontal" method="post" action="RightsGroupRegister">
        <div class="form-group">
            <label for="Name of group" class="col-sm-2 control-label">Name of group:</label>
            <div class="col-sm-10">
                <input class="form-control" id="name" name="name" placeholder="Name of group">
            </div>
        </div>
        <div class="form-group">
            <label for="Rights" class="col-sm-2 control-label">Rights:</label>
            <div class="col-sm-10">
                <input class="form-control" id="rights" name="rights" placeholder="Rights">
            </div>
        </div>
        <div class="form-group">
            <div class="col-sm-offset-2 col-sm-10">
                <button class="btn btn-default">Create</button>
            </div>
        </div>
    </form>

和这里的控制器:

@Controller
public class RightsGroupController {
private static final Logger LOGGER = LoggerFactory.getLogger(RightsGroupController.class);
private final RightsGroupService rightsGroupService;
@Inject
public RightsGroupController(RightsGroupService rightsGroupService) {
    this.rightsGroupService = rightsGroupService;
}
@RequestMapping(value = "RightsGroupRegister", method = RequestMethod.GET)
public ModelAndView getRightsGroupView() {
    LOGGER.debug("Received request for addRight");
    return new ModelAndView("RightsGroupRegister", "form", new RightsGroupForm());
}
@RequestMapping(value = "RightsGroupRegister", method = RequestMethod.POST)
public String createRightsGroup(@ModelAttribute("form") RightsGroupForm form ) {
    LOGGER.debug("Received request to create {}, with result={}", form);
    try {
        rightsGroupService.save(new Rightsgroup(form.getName(),form.getRights()));
    } catch (RightsGroupAlreadyExistsException e) {
        LOGGER.debug("Tried to create rightsgroup with existing id", e);
        return "right_create";
    }
    return "redirect:/";
}}

现在有问题,我真的不明白如何使用它。如何从另一个对象获取此表单数据?例如权利列表(ID,名称)?

有几种方法可以做到这一点。我想您的意思是访问您要重定向到帖子方法中的页面上的数据。这是一种方法:

public String createRightsGroup(@ModelAttribute("form") RightsGroupForm form, Model model)

在邮政方法中将模型添加到您的参数中。然后,即:

model.addAttribute("name", form.getName());
model.addAttribute("rights", form.getRights());

和..

return "redirect:/right_create";

在您的jsp(right_create.jsp)中,您访问字段,例如:

<table>
  <tr>
    <td>${name}</td>
    <td>${rights}</td>
  </tr>
</table>

如果您有Right,则可以这样做:

<table>
<c:forEach items="${rights}" var="right">
   <tr>
      <td>${right.id}</td>
      <td>${right.name}</td>
  </tr>
</c:forEach>
</table>

最新更新