我目前正在开展一个项目,我需要将HTTPsession和其他对象(例如JSF状态、Controller等)外部化。我的项目是在Web层上使用JSF的完整JEE(加上PrimeFaces和其他一些库)。在AWS上使用Docker在PayaraServer上运行。我的Controller是完全有状态的,我需要保持这种状态。我研究了如何在不更改太多代码的情况下轻松地将用户session外部化,并且我发现了SpringSession。问题是我对Spring以及如何将它引入我的项目的经验为零,到目前为止我所有的尝试都失败了。我不使用Maven,目前我不太可能使用它,因为项目太大无法移动,所以我必
我正在使用JSF2和JPA2(EclipseLink2.3)开发一个项目。在JSF2中,我了解到我们必须将模型与Controller分开,并将同样的事情与View分开(感谢BalusC)。但是现在有了从JPA生成的POJO,我想知道bean、模型现在是否应该是pojo。我的View将是我的.xhtml页面,它是在JSF2.0中开发的,它将与我的Controller交互,然后在Controller中调用DAO的类,然后在我的数据库中运行。这样对吗?我的意思是在MVC的概念中?我想把所有事情都做对,有什么建议吗?提前致谢。 最佳答案 “
我为int变量创建了一个简单的输入字段。我想向它添加验证,但是我认为没有必要为它创建自己的validator,因为我唯一需要的是避免负值和数字以外的字符。所以这就是我所做的:当我尝试它如何工作时,这是负值的结果:这是字符的结果:我可以在项目的哪个位置自定义这些验证消息的文本? 最佳答案 要更改这些值,您基本上必须定义自己的资源文件,覆盖您想要自定义消息的属性并将其注册到web.xml中。Thislink似乎解释得很好,所以我将其包括在内,而不是尝试重写内容。对于更简单的解决方案,因为您是JSF2,您还可以使用inputText组件的
我正在为我的大学项目使用jsp、jSTL和jsf进行应用,也就是说,我对jsf也很陌生。目前一切顺利。但是,我似乎无法弄清楚如何使用dinamyc参数从托管bean重定向到页面。例如article.jsp?article_id=2谁能告诉我这是怎么做到的?我一直在尝试使用类似的东西FacesContext.getCurrentInstance().getExternalContext().dispatch("faces/article.jsp2?article_id="+articleId);但是报错:javax.servlet.ServletException:#{postComme
我不了解验证期间JSF2的行为。希望可以有人帮帮我。我有一个表单,在(ajax)提交后验证字段-好的如果验证失败,则会显示一条错误消息-ok对于我的示例,当我输入有效的生日并且字段name为空时,提交后会显示name的错误消息。现在,当我输入有效的姓名并从生日字段中删除输入时,会显示生日的错误消息(没关系),但现在是旧的“有效”生日也出现在输入字段中!?!如何避免这种行为?当我提交一个空字段时,我想看到一条错误消息和一个空字段...这是我的示例代码:我使用包含EntityBean(Contact)的ManagedBean(TestBean)。Contact包含每个注释的验证。publi
我正在尝试将JSFViewScopedbean作为ManagedProperty注入(inject)到实现javax.faces.validator.Validator的RequestScopedbean中。但始终会注入(inject)ViewScopedbean的新副本。ViewScopedBean@ViewScoped@ManagedBeanpublicclassBean{privateIntegercount=1;privateStringfield2;publicStringaction(){++count;returnnull;}publicStringanotherActi
如何将后退按钮实现为通用的命令按钮?带有后退按钮的我不是指浏览器按钮,而是位于页面某处的按钮。并不总是可以使用Post-redirect-get模式。传递按钮应指向的每个位置的信息是非常不切实际的。导航规则是否有一个保留关键字指向最后应用的导航规则? 最佳答案 在这种情况下,我使用带有属性onclick="history.go(-1)"的h:commandLink。它普遍适用。 关于java-jsf中的后退命令按钮,我们在StackOverflow上找到一个类似的问题:
我需要在JSF2中以编程方式创建复合组件。经过几天的搜索和实验,我找到了这个方法(受到java.net的Lexi的高度启发):/***Methodwillattachcompositecomponenttoprovidedcomponent*@paramviewPanelparentcomponentofnewlycreatedcompositecomponent*/publicvoidsetComponentJ(UIComponentviewPanel){FacesContextcontext=FacesContext.getCurrentInstance();viewPanel.g
诸如Setobjects=newHashSet();之类的任何原因不应该在JSF数据表中工作?它适用于列表。 最佳答案 至于为什么一个Set通常不支持,这是因为此数据结构从未打算保存按索引排序的对象集合。List这样做,这个数据结构是表示UIData值的最明智的数据结构。零件。DataModel接口(interface),表示UIData的包装值组件并保存行索引并记住当前行以进行渲染迭代和回发时的表单提交处理,仅支持来自Java集合类的ListListDataModel风格的界面.经过漫长的决策过程(尤其是在通常使用Set表示n-m
我想在JSF的下拉列表中显示树状结构。基本上,选择的项目处于层次结构中,我希望它在下拉列表中很明显。这可能吗? 最佳答案 所以,您基本上想要一个HTML?使用SelectItemGroup.JSFbean(我假设是JSF1.x):privateStringoption;//+getter+setterprivateListoptions;//+getterpublicBean(){options=newArrayList();SelectItemGroupgroup1=newSelectItemGroup("Group1");gro