当前位置: 首页 > 知识库问答 >
问题:

使用JSF还是使用Mojarra?

林礼骞
2023-03-14

我有一个重要的问题。

我以前使用过JSF1.2。我会使用一些基本的标签,比如

<h:outputText />
<h:commandButton />
<h:commandLink />
<h:dataTable />

还有像这样的脸

<rich:calendar />
<rich:togglePanel />
<rich:dataScroller />

为了使用ajax功能,我与

xml prettyprint-override"><a4j:support />
<a4j:jsFunction />
<a4j:queue />

例如我使用了q jetty Web服务器来使用JSF标记。今天,我在JSF2.0、PrimeFaces和glassfish应用服务器上工作了一周。

所以我有以下问题:我是与JSF合作过,还是与Mojarra合作过?抱歉,但我并不清楚这两种技术之间的确切区别。

多谢了,麦克

共有1个答案

淳于熙云
2023-03-14

JSF是JavaEE标准或规范(就像JPA、EJB等)。

需要执行标准或规范。Mojarra是Oracle对JSF的实现。Myfaces是另一个JSF实现,由Apache开发。

因此,如果您使用的是Glassfish,那么您就是在使用Oracle的JSF:Mojarra实现。例如,如果您使用Tomee(Apache的应用服务器),您将使用Apache的JSF:Myfaces实现。

https://javaserverfaces.java.net/https://myfaces.apache.org/https://glassfish.java.net/https://tomee.apache.org/apache-tomee.html

 类似资料:
  • 问题内容: 内置函数在我看来更像Pythonic,但我发现使用起来更频繁。 Python文档指出它们是等效的。 一位博客作者声称这比。 我应该使用哪个? 问题答案: 我会用。 来自:https : //wiki.python.org/moin/DubiousPython#Premature_Optimization 尽管正确应用优化确实可以加快代码的速度,但很少使用[..]的优化代码会使代码更难阅

  • 编译以下代码时: 我得到警告提示: 在I之后,程序中断似乎没有改变。 以下是输出: 问题2:进程在启动时是否在堆上分配内存以供将来使用?还是编译器更改了分配的时间点?否则,为什么? 可以设置参数来控制的行为,并且有一个名为的参数,一般情况下: 如果请求的内存小于它,则将使用; 如果请求的内存大于或等于它,则将使用; 该参数的默认值是(在我的系统上),但在我的测试程序中我使用了1MB,所以选择了,当

  • 问题内容: 对于我开发的某些应用程序(后来逐渐忘记了),我一直在编写纯SQL,主要是针对MySQL。尽管我在SQLAlchemy之类的python中使用过ORM,但是我并没有坚持很长时间。通常,这是文档或复杂性(从我的角度来看)使我退缩。 我这样看:如果要使用一种类型的数据库,则使用ORM进行可移植性,使用普通SQL。我真的在寻求有关在开发需要数据库支持的应用程序时何时使用ORM或SQL的建议。

  • 这是我写一个html页面,我现在想要让右边刷新,导航栏不刷新。或者是整体刷新。 导航栏的代码: 对应页面被注释包裹,然后替换上去的代码 脚本: 做的尝试: 整体刷新:使用gulp inject的命令,我单独写了页头,导航栏,页脚的页面,每当我想要修改的时候,我就只修改单独的这些页面,然后执行gulp inject命令,然后gulp就会根据我页面中的特定注释包裹的地方替换掉对应的代码。 确实可以,不

  • 问题内容: Java8引入了这些不错的方法和,从而允许编写如下代码: 现在,我想知道是否有充分的事实理由可以这样做: 要么 两者都可以工作: 当 将元素添加到列表 时,选项1可能会进行很多不必要的“ put”调用 选项2可能做了很多不必要的“的containsKey”呼叫时 对新的密钥添加新条目 是主导 SO:“总是”选择选项1或选项2的充分理由是吗? 问题答案: 如果您想对替代值使用缺席值而不修

  • 在控制器中,我可以写: 有什么区别吗?主体解析会在不同的线程中进行吗?在第一种情况下,我会阻塞主反应器线程直到被解析?