草庐IT

java - WEB-INF 目录中的 JSF 文件,如何访问它们?

我想将我的JSF2.0xhtml文件放在WEB-INF\jsf下。那我该如何访问它们呢?我知道WEB-INF里面的任何东西都不会暴露在外面,所以我需要一个Controller来将我重定向到相应的JSP,对吗?(这也是模型2模式iirc)。我可以使用web.xml/faces-config.xml中的参数来实现吗?我认为FacesServlet是我的网络应用程序的Controller,所以它应该用于此目的吗?另一个关于理解模型2模式的问题。是否每个Action都必须首先转到一个servlet,然后由它处理下一个可能的步骤?如此简单在此模式中被禁止,因为它不会转到控制servlet?

java - 使用 JSF 2.0/Facelets,有没有办法将全局监听器附加到所有 AJAX 调用?

有没有办法将全局监听器附加到JSF中的所有AJAX调用?也许通过相位监听器或其他方式?这就是难题...假设您正在使用f:ajax标签和apacheshiro之类的东西,并且您让session过期。然后您返回并单击一个附加了f:ajax的按钮。服务器将响应302重定向到登录页面。用户什么也看不到。他们可以反复点击并调用ajax调用,但对他们来说,应用程序只是“死了”。那么,我的想法是,有没有一种方法可以将监听器附加到JSF中的所有ajax调用?如果是这样,我想做的是监视响应代码。如果是重定向,请使用window.navigate将它们沿途发送。我总是愿意听听其他人是如何解决这个问题的!

java - JSF调优

遇到JSF填满我们的session的问题。前几天我们发生了系统崩溃。将Heap发送给IBM进行审查,发现我们有一些session大到50M。他们在session中发现了JSF组件,其中一些组件非常大。那么,有什么可以调优的吗?配置项要看什么?或者其他方向。我们的系统是使用JSF和Spring构建的表示层,后端是EJB、Spring和Hibernate,它们都在WebSphere6.1上运行。 最佳答案 JSF是一项有用的技术,但您肯定会用它来吊死自己。这听起来像是,要么扩大View状态的大小(通过在组件上设置较大的值),要么将对组件

java - 如何避免用户访问 JSF 中的 .xhtml 页面?

我是JSF的新手,首先编写简单的jsf网络应用程序。带有.jsf的URL映射到WebContent中的.xhtml文件,但为什么我可以在带有所有jsf标记的网络浏览器中打开.xhtml。如何保护这个? 最佳答案 您可以向web.xml添加安全约束,阻止对*.xhtml的所有请求。RestrictrawXHTMLDocumentsXHTML*.xhtml 关于java-如何避免用户访问JSF中的.xhtml页面?,我们在StackOverflow上找到一个类似的问题:

java - JBoss 焊接 + java.lang.OutOfMemoryError : PermGen space

我刚刚切换到Weld以使用CDIJSF2Beans+对话范围。这是我的maven依赖:org.jboss.weld.servletweld-servlet1.0.1-Finaljarcompile这是我的web.xml中的条目:org.jboss.weld.environment.servlet.Listener我立即注意到的一件事是我只需要重新加载我的tomcat7大约2次,java.lang.OutOfMemoryError:PermGenspace将显示在catalina.out日志文件中。在使用Weld之前,我可以在没有java.lang.OutOfMemoryError的情况

java - jsf bean 和 ejb bean 的区别

这个问题在这里已经有了答案:WhenisitnecessaryorconvenienttouseSpringorEJB3orallofthemtogether?(2个答案)关闭3年前。我需要一些说明。我知道如何使用JSF及其相应的sessionbean,但我对EJB感到困惑。EJB引入的bean和JSF使用的sessionbean之间有什么区别(对于ejb,我知道无状态/完整sessionbean和实体bean、实体管理器等)。我只是不明白何时使用EJB以及何时使用jsfbean。除了实体bean之外,ejb有状态/无sessionbean看起来都类似于jsfsessionbean。我

java - 如何配置没有文件扩展名的 JSF url 映射?

大多数教程建议使用类似于以下web.xml的默认JSF配置:javax.faces.DEFAULT_SUFFIX.xhtmlFacesServletjavax.faces.webapp.FacesServlet1FacesServlet/faces/**.jsf使用此配置,如果相应的URL以文件扩展名.jsf结尾(例如http://localhost/welcome.jsf),则只有FacesServlet才能找到我的webapp中相应的*.xhtml文件。是否可以配置web.xml,使不以.jsf结尾的URL也被处理为使用相同*.xhtml文件的JSF页面?换句话说,我想要不依赖于服

java - 如何从 ExternalContext 获取 webapp 的绝对 URL?

我正在尝试从ExternalContext检索Web应用程序的根URL,但无法理解使用哪种方法... 最佳答案 更简洁的方式是:HttpServletRequestrequest=(HttpServletRequest)externalContext.getRequest();Stringurl=request.getRequestURL().toString();StringbaseURL=url.substring(0,url.length()-request.getRequestURI().length())+request.

java - 具有动态列的数据表

我对JSF完全陌生,只是尝试概念验证以确定它是否对项目有用。我的POC仅包含一个页面和一个包含一些数据的表格。列数(以及行数)是动态的,在呈现页面之前从数据库加载。通过以下,我得到了两个具有适当行数的静态列,正如我所期望的那样:我想做的是添加一个围绕一组...标签,以遍历列数,但这没有用-我尝试了多种组合,但我期待这样的事情起作用:通过谷歌搜索,我读到了各种含糊不清的评论,例如“这不是这样做的方法”,但我没能找到任何特别令人信服的正确方法示例。有人提到在支持bean中构建DataTable,但我能找到的唯一示例是http://forums.sun.com/thread.jspa?thr

java - 在 session 过期之前调用方法

我的webapp有登录的用户。有一个超时。在session过期之前,我想执行一个方法来清除一些锁。我已经实现了一个sessionListener但是一旦我到达publicvoidsessionDestroyed(HttpSessionEventevent)session已经消失,我需要它的一些数据,所以我会喜欢在session实际过期之前执行一个方法(需要session处于Activity状态并且能够访问FacesConfig.getCurrentInstance())。我该怎么做?有任何想法吗?这是我的session监听器:publicclassMySessionListenerim