草庐IT

java - JSF 服务层

我不确定我在JSF中使用MVC环境的方法是否是最好的方法。由于我试图充分利用JSF,我想知道我的服务层(或模型,用MVC术语来说)应该如何“设计”。我知道View-Controller比率应该是1比1(排除了异常(exception)情况)。现在我应该以什么方式设计我的服务层?我应该使用一项大服务(不这么认为)吗?如果不是,我应该根据什么拆分我的服务?请注意,我的服务将从Bean(MVC术语中的Controller)调用,并且服务本身将在必要时使用JPA调用DAO。提前致谢 最佳答案 服务层(业务模型)应围绕主要实体(数据模型)设计

java - 如何创建模块化 JSF 2.0 应用程序?

我有一个界面定义明确的应用程序。它使用CDI来解析模块,(特别是它使用API接口(interface)上的Instance注入(inject)点来解析模块)并通过接口(interface)将各种数据传回和第四次传递而没有问题。我有意将API和实现分开,并且模块仅从API继承以避免紧密耦合,并且应用程序仅通过运行时依赖关系知道模块,并且通过API完成数据传递。应用程序在没有模块的情况下运行良好,只需将jar放入WEB-INF/lib文件夹并重新启动应用服务器即可添加。我遇到的问题是我希望模块创建View的一部分,因此我想以可移植的方式调用JSF组件,或者按顺序从模块中包含让它呈现它的Vi

java - 如何创建模块化 JSF 2.0 应用程序?

我有一个界面定义明确的应用程序。它使用CDI来解析模块,(特别是它使用API接口(interface)上的Instance注入(inject)点来解析模块)并通过接口(interface)将各种数据传回和第四次传递而没有问题。我有意将API和实现分开,并且模块仅从API继承以避免紧密耦合,并且应用程序仅通过运行时依赖关系知道模块,并且通过API完成数据传递。应用程序在没有模块的情况下运行良好,只需将jar放入WEB-INF/lib文件夹并重新启动应用服务器即可添加。我遇到的问题是我希望模块创建View的一部分,因此我想以可移植的方式调用JSF组件,或者按顺序从模块中包含让它呈现它的Vi

java - 通用 JSF 实体转换器

这个问题在这里已经有了答案:ImplementconvertersforentitieswithJavaGenerics(3个回答)关闭7年前。我正在编写我的第一个JavaEE6Web应用程序作为学习练习。我没有使用框架,只是JPA2.0、EJB3.1和JSF2.0。我有一个自定义转换器将存储在SelectOne组件中的JPA实体转换回实体。我正在使用InitialContext.lookup来获取对sessionBean的引用以查找相关实体。我想创建一个通用实体转换器,因此我不必为每个实体创建一个转换器。我想我会创建一个抽象实体并让所有实体扩展它。然后为抽象实体创建一个自定义转换器并

java - 通用 JSF 实体转换器

这个问题在这里已经有了答案:ImplementconvertersforentitieswithJavaGenerics(3个回答)关闭7年前。我正在编写我的第一个JavaEE6Web应用程序作为学习练习。我没有使用框架,只是JPA2.0、EJB3.1和JSF2.0。我有一个自定义转换器将存储在SelectOne组件中的JPA实体转换回实体。我正在使用InitialContext.lookup来获取对sessionBean的引用以查找相关实体。我想创建一个通用实体转换器,因此我不必为每个实体创建一个转换器。我想我会创建一个抽象实体并让所有实体扩展它。然后为抽象实体创建一个自定义转换器并

java - JSF 和 xhtml 文件的自动重新加载

我在使用JRebel、Spring、JSFMojarra2.0.3和WebLogic10.3热重载XHTML文件时遇到了一些问题。JRebel成功地重新加载了/WebContent下的常规Java类和js/css文件,但不是JSF的.xhtml文件。需要完全重新发布才能在服务器上更新xhtml文件。通过反复试验,我终于通过向web.xml添加一些facelets参数并创建自定义ResourceResolver来使其工作,如inthisblogpost所述.但是,我想知道为什么会这样,更具体地说:为什么需要自定义ResourceResolver?JRebel不应该通过监视xhtml文件所

java - JSF 和 xhtml 文件的自动重新加载

我在使用JRebel、Spring、JSFMojarra2.0.3和WebLogic10.3热重载XHTML文件时遇到了一些问题。JRebel成功地重新加载了/WebContent下的常规Java类和js/css文件,但不是JSF的.xhtml文件。需要完全重新发布才能在服务器上更新xhtml文件。通过反复试验,我终于通过向web.xml添加一些facelets参数并创建自定义ResourceResolver来使其工作,如inthisblogpost所述.但是,我想知道为什么会这样,更具体地说:为什么需要自定义ResourceResolver?JRebel不应该通过监视xhtml文件所

java - JSF convertDateTime 呈现前一天

日期(作为日期时间类型)存储在我的数据库中,如下所示:31.10.2012当我在UI中显示它时,默认呈现如下:2012-10-31我使用转换它没想到它变成了30.10.2012SimpleDateconverter,输入相同的日期和相同的格式字符串返回31.10.2012,正如预期的那样。我错过了什么?谢谢编辑:对于存储为Timestamp的日期相同的转换会产生正确的结果,所以我想它与Date有关解释为确切的午夜,而这又可能被解释为属于2个不同的日子。但我仍然不知道在哪里定义行为以及最好的解决方法是什么。 最佳答案 这无疑是与时区相

java - JSF convertDateTime 呈现前一天

日期(作为日期时间类型)存储在我的数据库中,如下所示:31.10.2012当我在UI中显示它时,默认呈现如下:2012-10-31我使用转换它没想到它变成了30.10.2012SimpleDateconverter,输入相同的日期和相同的格式字符串返回31.10.2012,正如预期的那样。我错过了什么?谢谢编辑:对于存储为Timestamp的日期相同的转换会产生正确的结果,所以我想它与Date有关解释为确切的午夜,而这又可能被解释为属于2个不同的日子。但我仍然不知道在哪里定义行为以及最好的解决方法是什么。 最佳答案 这无疑是与时区相

java - 如果 jsf 数据表为空,如何显示消息?

使用JSF1.2,如果我的数据表绑定(bind)没有返回任何行,我想显示一条这样的消息。我该怎么做?另外,如果表格是空的,如何完全隐藏表格?谢谢。 最佳答案 利用rendered属性。它接受一个boolean表达式。您可以借助EL的empty关键字在表达式内评估数据表的值。如果它返回false,整个组件(及其子组件)将不会被渲染。...对于您感兴趣的情况,以下是如何利用rendered属性中的EL功能的其他基本示例:另见:JavaEE7tutorial-ExpressionLanguage-Operators