- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想让我的网址更适合 SEO。
我配置了过滤器,它适用于以下示例:
<url-mapping>
<pattern value="/index" />
<view-id value="/index.html" />
</url-mapping>
但是当我将 view-id 设置为某些 Struts URL 时,它不起作用。
例如:
<url-mapping>
<pattern value="/index" />
<view-id value="/application/PunchIt.do" />
</url-mapping>
它无法找到(或无法执行)Struts 操作。
有没有办法将PrettyFaces与Struts 2框架一起配置?
我使用的是 beautiful-faces 3.3.3。
这是 Pretty-config.xml 的配置:
<?xml version="1.0" encoding="UTF-8"?>
<pretty-config xmlns="http://ocpsoft.org/prettyfaces/3.3.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ocpsoft.org/prettyfaces/
http://ocpsoft.org/xml/ns/prettyfaces/ocpsoft-pretty-faces-3.3.3.xsd">
<!-- doesn't work -->
<url-mapping>
<pattern value="/index.html" />
<view-id value="/application/PunchIt.do" />
</url-mapping>
<!-- works -->
<url-mapping>
<pattern value="/error" />
<view-id value="/error.html" />
</url-mapping>
</pretty-config>
这是 web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="struts_blank" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Struts Blank</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<filter>
<filter-name>Pretty Filter</filter-name>
<filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Pretty Filter</filter-name>
<url-pattern>/* </url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
</web-app>
最佳答案
您必须确保 PrettyFilter 位于 Struts2 过滤器之前,并且 Struts2 过滤器配置为处理 FORWARD 调度程序类型。所以尝试这样的事情:
<filter>
<filter-name>Pretty Filter</filter-name>
<filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Pretty Filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
有关详细说明,请参阅此处的问题 #2:
http://www.ocpsoft.org/docs/prettyfaces/3.3.3/en-US/html/FAQ.html
关于java - PrettyFaces 不适用于 Struts 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29802878/
概括: 当我打开 Spring Boot 应用程序时。 (在嵌入式 Tomcat 8 服务器上运行)我从未收到过: INFO [org.ocpsoft.rewrite.servlet.Rewrite
如果您按如下方式定义了 url 映射: @URLMapping(id = "myPage", pattern = "/myPage", viewId = "/faces/pages/myPage.xh
我在使用基于容器的安全性和漂亮面孔时遇到问题。就我禁用 Prettyfaces(删除其在 pom.xml 中的存在)而言,基于容器的安全性工作正常并且页面得到了很好的保护。但是,使用漂亮面孔后,安全性
当我有以下映射(示例)时,我是否需要制作自定义正则表达式模式来匹配 URL: /questions/approved/#{viewOption}/ /approved.xhtml
我想知道如何在调用操作时重定向到同一页面。 我有这个命令按钮: 这是 Action : @Named @RequestScoped public class SomeBean { publi
我在我的 JSF 应用程序中使用 PrettyFaces。该站点需要身份验证才能访问某些页面,因此我使用了一个监听器(预渲染 View )来检查用户是否已登录。因此,如果用户尝试访问/foo(Pret
我使用 PrettyFaces 作为 url 重写库,如下所示: @URLMappings(mappings = { @URLMapping(id = "page1", pattern
我有这样的映射: @URLMapping(id = "edituser", pattern = "/edituser/#{ id: userBean.userId}", viewId = "/face
我想让我的网址更适合 SEO。 我配置了过滤器,它适用于以下示例: 但是当我将 view-id 设置为某些 Struts URL 时,它不起作用。 例如:
我的应用程序有一个正在运行的 RESTFul Web 服务 jersey-servlet com.sun.jersey.spi.container.servlet.ServletCo
首先,在处理我的问题之前,我将向您介绍我的测试用例。我的基本 Maven Web 应用程序中有几个组件: page.xhtml:用于生成我的请求/回复(以启动过滤) Pretty Faces:用于根据
我是 JSF 和 PrettyFaces 的新手。所以现在我发现我可以配置 PrettyFaces 将请求“转发”到正确的 .xhtml 文件。问题是,我(或用户,以防他知道我的文件夹结构)也可以请求
当我使用 Seam 安全性登录到我的页面时,它会将我重定向到/WEB-INF/pages/index.xhtml 而不是简单的/。这是我的 @ViewConfig 的片段: public interf
我有一个非常简单的页面,它只是提示用户输入一个名称,然后将创建一个具有该名称的资源。当用户点击提交按钮时,我想直接将他导航到刚刚创建的实体的页面。所以我的页面看起来像这样:
是否可以在 gradle 中定义不同的配置文件?我写了一个 WebApplication,我想用生产设置来部署它。此外,我的应用程序正在使用 PrettyFaces。因为我使用不同的两种语言,所以我也
我需要集成 pretty faces使用我的 jsf 2.0,primefaces 应用程序,但它带来了一些麻烦。 如 getting started 中所述我在我的 web.xml 中放置了以下内容
我需要集成 pretty faces使用我的 jsf 2.0,primefaces 应用程序,但它带来了一些麻烦。 如 getting started 中所述我在我的 web.xml 中放置了以下内容
我正在寻找一个使用来自漂亮面孔的 MultiPageMessagesSupport 的示例。 com.ocpsoft.pretty.faces.event.MultiPageMessa
目前我正在使用以下代码: public void init() { question = questionBean.findQuestion(questionParamId); } 由此调用:
在 pretty-config.xml 中编写 Prettyfaces 的 URL 映射规则时,我想添加一条规则,即每当在 URL 中观察到特定模式时,就为 bean 属性设置一个特定的常量值。例如当
我是一名优秀的程序员,十分优秀!