Spring 如何在jsf中用xhtml表单映射模型对象属性?
在spring中,我们可以将模型对象属性映射到UI表单元素。如何在JSF中实现这种映射?JSF教程中讨论的主题名称是什么?我们可以在JSP页面中操作映射的模型对象属性。在xhtml页面中也可以吗 评论中要求的spring示例示例示例 用户域对象映射到控制器中的jsp表单,如下面的示例代码所示。在此之前,此映射是作为servlet xml中的Spring 如何在jsf中用xhtml表单映射模型对象属性?,spring,jsp,jsf,jakarta-ee,jsf-2,Spring,Jsp,Jsf,Jakarta Ee,Jsf 2,在spring中,我们可以将模型对象属性映射到UI表单元素。如何在JSF中实现这种映射?JSF教程中讨论的主题名称是什么?我们可以在JSP页面中操作映射的模型对象属性。在xhtml页面中也可以吗 评论中要求的spring示例示例示例 用户域对象映射到控制器中的jsp表单,如下面的示例代码所示。在此之前,此映射是作为servlet xml中的命令执行的。现在我们可以在控制器本身中完成 @RequestMapping(value = "/user", method = RequestMethod.G
命令执行的。现在我们可以在控制器本身中完成
@RequestMapping(value = "/user", method = RequestMethod.GET)
public ModelAndView user() {
return new ModelAndView("user", "command", new User());
}
@RequestMapping(value = "/createuser", method = RequestMethod.POST)
public String saveUser(@ModelAttribute("SpringWeb")User user,
ModelMap model) {
model.addAttribute("name", user.getName());
model.addAttribute("country", user.getCountry());
model.addAttribute("id", user.getId());
userService.saveUser(user);
return "results";
}
因为我们已经在controller中映射了对象,所以我们可以在jsp中操作属性,如下所示
<form:form method="POST" action="/HibernateExample/createuser">
<table>
<tr>
<td><form:label path="name">Name</form:label></td>
<td><form:input path="name" /></td>
</tr>
<tr>
<td><form:label path="country">Country</form:label></td>
<td><form:input path="country" /></td>
</tr>
<tr>
<td><form:label path="id">id</form:label></td>
<td><form:input path="id" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="Submit"/>
</td>
</tr>
</table>
</form:form>
JSF
<h:form>
<h:outputLabel for="name" value="name" />
<h:inputText id="name" value="#{fooController.name}" />
<!--...-->
<h:commandButton value="Save" action="#{fooController.doSaveUser()}" />
</h:form>
我认为您应该先阅读BalusC的这篇文章或其他任何文章。使用Spring的模型映射发布一个示例,我可以给出JSF等价物。现在看来,你的问题太抽象了。我已经编辑了这个问题,并添加了对象映射的示例代码。请让我知道如何在JSF中实现这一点。如果您能提供一个jsf教程链接,其中涵盖了使用此链接管理的jsf fullyI,我们将不胜感激。我花了一些时间来掩盖这些事情,还找到了一些教程。无论如何,谢谢你
<h:form>
<h:outputLabel for="name" value="name" />
<h:inputText id="name" value="#{fooController.name}" />
<!--...-->
<h:commandButton value="Save" action="#{fooController.doSaveUser()}" />
</h:form>
@Named //@ManagedScoped if you don't use CDI
@RequestScoped //Or a different scope (e.g. @SessionScoped)
public class FooController {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void doSaveUser() {
//Save user...
}
}