2010-05-26 53 views
0
* Unable to find matching navigation case with from-view-id '/home.xhtml' for action 'MemoServlet' with outcome 'MemoServlet' 

我试图通过来完成它:我不能从JSF提交表单到servlet吗?

<h:commandButton type="submit" value="add" action="MemoServlet"/> 

,但在世界上所有的教程,只能用豆,我不想这样做。我遇到了完成我的请求的任何导航规则。

回答

0

为什么使用servlet?功能要求究竟是什么? Servlet是否包含“太多”代码,您可以将其重构为单独的类,并在原始Servlet和JSF bean操作方法中导入/调用?

无论如何,要解决特定的问题,您需要一个普通的香草HTML <form>元素,其action指向servlet URL或调用ExternalContext#dispatch()在该bean的操作方法内的servlet URL上。

+0

为什么一个豆?!我以为mvc希望页面能够连接到servlet,而servlet又会调用你想要的因式分解代码。 – simpatico 2010-05-26 21:22:27

+0

JSF是一个MVC框架,FacesServlet作为唯一的控制器,因此您基本上最终将Bean作为模型,将JSP/Facelets作为视图。为什么添加另一个servlet?听起来像一个紧密耦合的代码的servlet。您应该有一个业务/域对象,它执行业务任务,然后可以从JSF bean或“普通香草”servlet调用业务任务。 – BalusC 2010-05-26 21:25:24

+0

但调用'userManager.validate'是不是业务逻辑? – simpatico 2010-05-26 21:32:48