Tag: jsf 2

如何根据selectOneMenu的当前选择validationselectManyCheckbox的最大检查值?

我正在使用JSF 2.0和PrimeFaces。 我有一个selectOneMenu和一个selectManyCheckbox。 我想实现这个场景: 当用户选择: option1(PieChart),然后允许用户检查最多一个复选框 option2(BarChart),然后允许用户检查最多两个复选框 这是我到目前为止的尝试,观点: (注意:我不确定 是否正确) 豆子: public void checkboxHandler() { Iterator it1 = selectedItemscheckbox.iterator(); if (chartType.equals(“PieChart”)) { while (it1.hasNext()) { if (selectedItemscheckbox.size() > 1) { // Here should be somthing that shows a message to the user. } } } } 在使用BalusC的解决方案后,出现此错误: java.lang.InstantiationException: DAOKPI.TestAjax$MyCheckboxValidator at java.lang.Class.newInstance0(Class.java:340) at java.lang.Class.newInstance(Class.java:308) at com.sun.faces.application.ApplicationImpl.newThing(ApplicationImpl.java:1699) […]

“输入”命令按钮不提交仅按IE <9

我有2个元素彼此跟随(不是另一个),例如: 这很好用。 我遇到的问题是在IE 8中(我假设其他旧版本)在第一种forms时,我点击了我的键盘上的“输入”键,表单未提交。 页面重新加载,但甚至没有调用#{searchBar.search1} 。 所有这些奇怪的是,这在第二种forms中工作正常。 我没有收到错误消息,也没有从浏览器获得任何反馈。 在我的支持bean中,我有类似的东西: public String search1() { System.out.println(“submitting form1”); return “success”; } public String search2() { System.out.println(“submitting form2”); return “success”; } 当使用点击“回车”键时,我甚至没有进入支持bean。 但是:当我“点击”提交按钮(用鼠标)时,一切正常。 任何有关这方面的见解将不胜感激!

java.lang.ArrayStoreException:sun.reflect.annotation.TypeNotPresentExceptionProxy

我正在尝试在JBoss 6.0上部署我的项目。 我使用的是Netbeans 7.0.1,Spring 3.0.2和JSF2.0。 该项目在Tomcat中运行良好。 但是当我尝试在JBoss上部署时,我收到以下错误: *** DEPLOYMENTS IN ERROR: Name -> Error vfs:///C:/jboss-6.0.0.Final/server/default/deploy/WebApplication3.war -> org.jboss.deployers.spi.DeploymentException: Error during deploy: vfs:///C:/jboss- 6.0.0.Final/server/default/deploy/WebApplication3.war DEPLOYMENTS IN ERROR: Deployment “vfs:///C:/jboss- 6.0.0.Final/server/default/deploy/WebApplication3.war” is in error due to the following reason(s): java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1370) [:2.2.0.GA] at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1316) [:2.2.0.GA] at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:968) [:2.2.0.GA] at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.checkComplete(MainDeployerPlugin.java:82) [:6.0.0.Final] at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.checkComplete(ProfileControllerContext.java:138) [:0.2.2] at org.jboss.profileservice.deployment.hotdeploy.HDScanner$HDScanAction.deploy(HDScanner.java:246) […]

如何将与远程文件一起使用?

我有一个专门用于静态内容的服务器,所以我不想使用资源目录存储javascript文件,但我不想停止使用标记。 如何使该标记生成指向文件所在的静态服务器的链接,而不是RES_NOT_FOUND 。 我甚至不需要JSF检查文件是否存在… 我试过了: 生成: 但它会生成: 我能做什么? 解决方案:丹尼尔给我一个很好的解决方案! 我已经下载了Omnifaces的源代码并将org.omnifaces.resourcehandler.CDNResourceHandle.createResource(String resourceName, String libraryName)方法修改为: public Resource createResource(String resourceName, String libraryName) { final Resource resource = wrapped.createResource(resourceName, libraryName); if (cdnResources == null) { return resource; } String resourceId = ((libraryName != null) ? libraryName + “:” : “”) + resourceName; String path = cdnResources.get(resourceId); if(path == null){ […]

JSF:如何validation字段并通过beanvalidation返回错误消息?

我有一个联系表单,我有一些通过beanvalidationvalidation的字段,如何在提交后返回beanvalidation错误消息? 例如: Name (Required) E-Mail (Required) Website (Optional) Message (Required): 这就是我validation字段的方式: // Client.java (model) @NotNull(message=”Please provide your name”) private String name; @NotNull(message=”Please provide your email”) @Pattern(regexp = “([^.@]+)(\\.[^.@]+)*@([^.@]+\\.)+([^.@]+)”, message = “Invalid e-mail”) private String email; @Pattern(regexp = “(http[s]?://|ftp://)?(www\\.)?[a-zA-Z0-9-\\.]+\\.([a-zA-Z]{2,5})$”, message = “Not valid URL”) private String website; @NotNull(message=”Please provide your message”) private String text;

正确使用Facelet模板和复合组件

我仍然不确定正确使用JSF模板和复合组件。 我需要创建一个企业Web应用程序,它将拥有大量页面。 每个页面都有相同的标题,菜单,页脚,当然还有不同的内容(= JSF模板)。 每个页面上的内容将包含可重复使用的“框”(= JSF复合组件)。 这些盒子包括一些文件,按钮等。我的解决方案是否合适? 或者我应该使用其他技术,如自定义组件,装饰……? layout.xhtml customer_overview.xhtml: … component_case_history.xhtml … CustomerOverviewController.java @ManagedBean @ViewScoped public class CustomerOverviewController { public List getCases() { … } } 编辑2012-04-27 基于: 何时使用,标记文件,复合组件和/或自定义组件? 我认为我应该使用Facelet模板+ Facelet标签文件而不是Facelet模板+复合组件。

在JSF自定义validation器中区分ajax请求和完整请求

我的validation器需要知道它是完整请求还是ajax请求。 在我当前的解决方案中,我检查X-Requested-With元素的http请求标头: public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException { HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest(); if (req.getHeader(“X-Requested-With”) != null) { // do something } else { // do something else } … } 有没有更好的方法来实现这一目标? 对于不同的浏览器/ javascript库,我的解决方案是否“安全”? 更新: 刚发现只有当ajax请求来自Primefaces组件库( 标签)时,才会出现X-Requested-With标头。 如果我使用普通的JSF 它就不存在了。 所以我的方法不适用于 。 使用有一个不同的标题: Faces-Request:partial/ajax Osw提出的解决方案适用于 和 : PartialViewContext#isAjaxRequest()

ui:composition和ui之间的区别:Facelets中的装饰

ui:composition和ui:decorate Facelets中的ui:decorate什么区别? 两者似乎都支持ui:define为子标签。 在什么情况下你会使用这些?

JBoss Weld + java.lang.OutOfMemoryError:PermGen空间

我刚刚切换到Weld来使用CDI JSF 2 Beans +会话范围。 这是我的maven依赖: org.jboss.weld.servlet weld-servlet 1.0.1-Final jar compile 这是我的web.xml中的条目: org.jboss.weld.environment.servlet.Listener 我立刻注意到的一件事是我只需要重新加载我的tomcat 7 2次,而java.lang.OutOfMemoryError: PermGen space将显示在catalina.out日志文件中。 在使用Weld之前,我可以在没有java.lang.OutOfMemoryError的情况下安全地重新加载我的tomcat 7超过10次。 我认为在catalina.sh中增加我的Xmx选项会有所帮助,但这并不符合我的经验。 JAVA_OPTS=-Xmx1024m 这是正常的吗?

Primefaces,如何用另一个按钮折叠layoutUnit?

我在Mojarra-2.1.10上使用primefaces PrimeFaces-3.4,我的整页布局是这样的 。 我如何在顶部制作一个按钮,这将折叠西部layoutUnit? 感谢帮助。 PS,早期假设可以这样写: … //button in the top 但遗憾的是,layoutUnit不存在widgetVar属性。 更新1:发现类似的问题 ,尝试过。 没有为我工作,问题是具有更新属性的按钮无法找到具有此类标识符的文本,我在一个layoutUnit中尝试,找到了标识符,但也没有工作。