问题标签 [prettyfaces]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jsf-2 - 无法将漂亮的面孔与 jsf 集成
我需要将漂亮的面孔与我的 jsf 2.0,primefaces 应用程序集成,但这会带来一些麻烦。
如入门中所述,我将以下内容放在我的 web.xml 中,在 lib 文件夹中添加了所需的 jar
我的 web.xml 中的其他项目
但我收到以下错误:
Invalid content was found starting with element 'async-supported'. One of '{"http://java.sun.com/xml/ns/javaee":init-param}' is expected
如果我 <async-supported>
从项目构建中删除,项目编译但映射不起作用。
pretty-config.xml
与入门相同。
我是否需要在我的 web.xml 中提及映射文件的名称/路径,即 pretty-config.xml?
编辑:
我正在使用 Glassfish 服务器 3。
java - JSF PrettyFaces 导致过滤器链“中断”
首先,在处理我的问题之前,我将向您介绍我的测试用例。我的基本 Maven Web 应用程序中有几个组件:
- page.xhtml:用于生成我的请求/回复(启动过滤)
- Pretty Faces:用于根据客户的需要重新定义 URL
- FirstFilter:在 Pretty Faces 之前执行(在这个体育场进行测试)
- ThirdFilter:在 Pretty Faces 之后执行(在这个体育场进行测试)
- web.xml:定义我的完整过滤器链的行为
我将分享重要组件的代码。
漂亮的配置.xml
FirstFilter.java
第三过滤器.java
web.xml
情况
调用 localhost:8080/page.xhtml (因此不激活 Pretty Faces 重定向)
调用 localhost:8080/page (从而激活 Pretty Faces 重定向)
问题
是什么导致我的链条不完整的这种情况?它不会被切断,因为我仍然会在 FirstFilter 上得到回复。似乎它永远不会到达 ThirdFilter。
我的有什么问题吗web.xml
,我错过了一个dispatcher
吗?
提前致谢。
java - 由漂亮面孔重定向
我遇到了一个问题,Pretty Faces 会导致无限循环,由我的浏览器结束:Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
问题的确切原因
文件结构
pretty-config.xml 片段
描述
导航到localhost:8080/register
将导致我的网页。导航到localhost:8080/login
将导致所描述的循环,请注意导航将导致重定向到localhost:8080/login/
< - 一个尾部斜杠。
我的猜测localhost:8080/login
是对文件夹的请求login
。但我不知道如何修复它,所以我的请求localhost:8080/login
将导致网页。
提前致谢。
jsf - 奇怪的 JSF PrettyFaces 异常
嗨,我不时遇到异常(无法重现)并且不知道该怎么办..
这是堆栈跟踪:
我猜漂亮脸蛋与此有关:
我用:
- JBoss AS 7.1
- 内置
- 莫哈拉
- JSF 2.1
- CODI
- 漂亮脸蛋
编辑:
我以某种方式设法修复它(见我的回答),但我不明白我的修复是如何工作的......
有时会调用此 url(在所有 cookie 被删除或从未存在之后):
为什么 jsessionid 与我的 prettytime 规则混淆了?我...
url - 漂亮的面孔 jsf glassfish 不适合我
我正在使用 GlassFishV3、JSF2、漂亮的面孔 3
我已经尝试了很多组合来摆脱我的 *.xhtml 扩展名或美化我的 URL,但我没有设法这样做。
如果您知道另一种解决方案,请给我一个示例,说明如何做到这一点,或者我的解决方案是否合理,请告诉我我是否出错了:
我按照http://ocpsoft.org/prettyfaces/snd上的教程创建了一个只有一个 index.xhtml 的简单应用程序,并且我已经放置了 home.xhtml 的链接(两者都在 WebContent 中)。
- 我已经 dwl 罐子(我不使用 Maven),我把它放在 WEB-INF/lib
- 根据教程,我不需要更改我的 web.xml,因为在使用 GlassFishv3
我的 web.xml
/li>我的漂亮配置.xml
- 使用此配置,我不断收到 java.lang.StackOverflowError (与其他人或我的应用程序无法编译或我收到不同的错误)循环是
在 com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:308) 在 com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:367) 在 com.sun.faces.facelets .impl.DefaultFacelet.include(DefaultFacelet.java:346) 在 com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199) 在 com.sun.faces.facelets.tag.ui.CompositionHandler.apply (CompositionHandler.java:155) 在 com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93) 在 com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)
- 我的 index.xhtml 有效,但是当我单击链接时出现上述错误
- 我没有豆子(另一个问题是,如果我设法让漂亮的面孔变得漂亮,我是否必须对映射的豆子进行任何注释)
非常感谢您的宝贵时间!
修改:
我做了一个简单的网络应用程序来看看扩展的隐藏是如何工作的。index.xhtml
和 home.xhtml
现在如果我启动应用程序 127.0.01:8080/myapp 会立即出现错误 java.lang.StackOverflowError
但如果我简单地放入 index.xhtml
在 home.xhtml 中
它可以工作,但扩展程序以 127.0.0.1:8080/myapp/ 开头,然后单击链接和 127.0.0.1:8080/myapp/home.xhtml
我想用模板做第一个索引和主页,因为我在一个已经有模板的网络应用程序上工作。CSS 使用“a href”标签中的 id="home"t know if it is necesary, the id it
来格式化它,但我越来越绝望 :))
任何帮助,将不胜感激。谢谢!
### 修改- 所以我又开始用一个简单的网络应用程序来看看漂亮的面孔是如何工作的
- 现在我不
t get any errors but I still can
改变我的网址 到目前为止我做了什么:
我把 pretty-faces-jsf-3.3.3.jar 放在 WEB-INF/lib
我把 WEB-INF pretty-config.xml
我的 web.xml
/li>在 WEB-INF 我有 index.html、home.xhtml 和 template.xhtml
索引.html
主页.xhtml
模板.xhtml
我没有用
因为我使用 Glassfishv3
正如我所说,这是一个微不足道的网络应用程序,只是为了看看它是如何工作的。请帮助我理解为什么我有困难...
jsf - 如何在 PrettyFaces 的帮助下将长的 Liferay URL 映射到友好的 URL?
我想使用 Liferay URL 映射,但目前 JSF 2 和 URL 映射存在错误,所以它不起作用(http://issues.liferay.com/browse/FACES-257)。所以我切换到 PrettyFaces。
我的问题是,您如何在 PrettyFaces 中映射一个链接,例如
像这样的事情?
注意:我还需要生成一个id
在 bean 中设置的新参数。
file-upload - 使用 PrettyFaces 调用 FileUploadListener 时重建 ViewScoped bean
我已将一个<p:fileUpload />
组件插入到我的JSF 2.1.5应用程序中。我正在使用PrimeFaces 3.4.1。该组件由@ViewScoped
bean 支持。我的表格是这样的:
这是我的主要模板:
有了这个,当我上传我的文件时,bean 正在重建并且listener
方法没有被调用。我的过滤器放在了我的web.xml中。此外,如果我更改表单并将其设置为enctype="multipart/form-data"
,正如我在文档中阅读的那样,我无法避免问题并且再次重建 bean,在这种情况下,即使我单击取消按钮也是如此。那是我的 bean 代码,SystemNavegable
抽象类在哪里:
有什么建议吗?提前致谢。
已编辑
完成了更多测试,我发现文件上传侦听器方法永远不会到达,我给支持 bean 的 Scope 无关紧要。我有以下依赖项:
而且我怀疑问题可能是另一个过滤器与我为上传组件使用的过滤器冲突,如此处所述。FacesContext.getCurrentInstance().isPostback()
不管问题是什么,当文件上传并带有 false时,我的 bean 的初始化方法会再次被调用。
jsf-2 - 如何在 Pretty-Faces 中将参数传递给 view-id?
我想将一些变量值传递给 pretty-config.xml 配置文件中的 view-id 节点。样品:
我想做这样的事情:
但我得到了错误:
有人知道该怎么做吗?
谢谢你。
jsf - PrettyFaces 错误:为 MappingId [...] 构建 URL 时发生异常,所需值 [...] 为 null
我的 JSF 项目中依赖 PrettyFaces 进行 URL 重写的页面突然给了我以下错误,尽管我没有更改任何与 PrettyFaces 直接相关的内容。是什么赋予了?
这是完整的堆栈跟踪:
jsf-2 - 具有必需属性的 PrettyFaces 错误
我正在使用JSF 2和prettyfaces开发一个 Web 应用程序。我@ViewScoped
用漂亮的注释注释了我的一个 bean。这就是我所拥有的:
基本上,它显示了安装在我的系统中的应用程序的详细信息。这个 bean 可以通过两种方式实例化,传递#{appId}
参数,它指示我要加载的应用程序的 id,或者没有那个参数,在这种情况下,bean 将从一个@SessionScoped
bean 中恢复这个 id。
这就是页面/system/manage_app/content/app_detail/app_detail.xhtml
管理参数的方式:
这里的问题是我想要NavegableAppView
创建 bean,有或没有参数。我已经尝试过这种方法<p:button value="prueba" outcome="pretty:app-view" />
,但它限制了我只能做结果和<p:commandButton value="prueba2" action="pretty:app-view" ajax="false" />
,这相当于调用一个操作方法并返回导航案例(这就是我真正想要的)。
第一选择正确地创建 bean 并从会话中加载值。第二种情况,给我这个错误:
所以我的目标bean没有被构建。我已经尝试将参数手动添加到导航案例中:return pretty:app-view?appId=1
它可以工作,但我希望目标 bean 从会话本身中恢复它。我是否必须在我的操作方法中调用重定向或类似的东西?
汇集你的想法。