在我的项目中,我在表示层和持久层进行重复验证,希望提高安全性。所以我的问题是:标准JSF验证能否防止代码注入(inject)。这里我验证字段是否为空,并验证字段长度。我知道验证字段长度会使代码注入(inject)变得更加困难,但有时您需要较长的字段长度,例如textArea。如果这是易受攻击的,我将如何修复它?非常感谢您。 最佳答案 默认情况下JSF已经阻止了XSSattacks通过在UIInput和UIOutput组件中转义用户控制的输入。这可以在h:outputText中通过设置escape="false"属性来控制。您无需为此
这是我第一次在论坛上提问,因为通常我的问题已经被提问和回答了。我还没有找到适合我的这个问题的答案,所以这里是:我正在JSF2.0中进行Ajax调用,如下所示:监听器中的一切都完美无缺,然后数据在我的.xhtml页面中的数据表中按预期呈现。问题是我在onevent中调用的Javascript似乎在渲染完成之前被调用,因此将焦点重置到我的datatable中的列的过程>不起作用,因为datatable被删除,然后在Ajax完成重新呈现时重新添加到DOM。我正在我的Javascript中查找“成功”状态,希望此时渲染已经完成。唉,事实并非如此,我的getElementById(实际上是doj
我在需要希伯来语和俄语支持的地方使用jsf-ri2.0.3。问题是我在屏幕上看到的是乱码,而不是正确的文本。首先,我为每种语言定义了包(*_locale.properties)。这些文件采用UTF-8编码。其次,我在faces-config.xml中定义了默认和支持的语言环境iwenru然后我添加了一个自定义过滤器,它将响应字符编码设置为UTF-8。encodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8forceEncodingtrueencodingFilter/*最后,当我创
我正在尝试访问jsf托管bean中的example/web文件夹(见下图),但似乎无法找到实现它的方法谢谢 最佳答案 尝试FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath()用于构建应用中资源的相对URL。如果你想要真正的路径...ServletContextctx=(ServletContext)FacesContext.getCurrentInstance().getExternalContext().getContext()
在JSF2中使用带有BV的资源包看起来像这样:publicclassUserBean{@Size(min=13,message="{creditcard.length}")publicStringgetCreditCard(){returnthis.creditCard;}}而且我必须在可以在faces-config.xml中注册的属性文件之一中定义ResourceBundle条目creditcard.length=creditcardlengthmustbeatleast13characters我们可以看到creditcard.length的值是非参数化的。我可以做可以从BV或其他地
我有bean“MyBean”,它具有属性HashMap-“map”,其值类型是MyClass。我想使用ui:repeat在jsf中显示map的一些属性。但是这些代码:但是这段代码没有显示任何东西。虽然当我尝试以这种方式在jsp中显示hashmap值时,它是成功的。我哪里错了?如何解决? 最佳答案 这确实是一个大皮塔饼。支持Map很长一段时间。除了按照McDowell的建议提供另一个setter/getter之外,您还可以通过customELfunction解决此问题.#{entry.key}=#{entry.value}EL函数看起
在JSF2.0Facelets模板中调用list.size()的语法是什么(例如,使用h:outputText元素)? 最佳答案 这个怎么样:您需要在JSF页面中引用functions标签库(URI:http://java.sun.com/jsp/jSTL/functions)。 关于java-如何从JSF2.0Facelets模板调用List.size()?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.
如何在JSF2.0中使用@ViewScoped在@ManagedBean下的优势 最佳答案 @ManagedBean只是声明某个bean由JSF管理(使其可用于表达式语言等)。@ViewScoped允许您声明bean将存在的特定范围。默认值(当您未指定任何范围时)是@RequestScoped,这意味着您的bean将通过单个请求存活,然后将被销毁。其他范围是@SessionScoped和@ApplicationScoped.第三方扩展引入了其他范围。@ViewScoped只要你回发一个页面给它自己,它就会继续存在。“View”是Ja
我的应用程序(JSF2、Java6、JBoss7.1)必须提供两种操作模式:可访问模式和不可访问模式。在辅助功能模式下,一些(不是全部)页面具有特定的设计,以便屏幕阅读器更好地阅读。两种模式之间的区别纯粹是视觉上的,托管bean完全相同。理想情况下,无需更改任何Java代码。大部分工作已经完成:在页面顶部添加了一个链接以在模式之间切换添加了一个支持bean来处理链接上的点击打开辅助功能后,会向sessioncookie添加一个属性,以将其标记为可访问添加了ResourceResolver,以便在针对特定用户的特定请求启用辅助功能时将页面路径重写为可访问版本尽管如此,它几乎完美地工作,但
不幸的是,我错误地选择了JSF作为面向Internet的高流量应用程序,现在我想知道如何提高这个JSFwebapp的可扩展性。我有一个JSF页面,显示了大量的项目,每个项目都可以评论。为了减少状态并提高性能,我正在尝试减少forms的编号/commandButtons在页面上。1.我可以通过哪些方式减少JSF的组件树/状态?纯html元素(混合在jsf标签之间)是否也构成组件树的一部分?我不知道组件状态保存对我的应用程序有何帮助,因为我在设计我的应用程序时一直遵循简单的请求/响应模型(可能只是对JSF的内部要求有帮助)!?2.我正在考虑一种方法,而不是创建一个单独的(每个都有一个单独的