我想让我的网址更好的搜索引擎优化。
我配置了过滤器,它与以下内容一起工作,例如:
<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操作。
有没有什么解决方案可以和Struts2框架一起配置PrettyFaces?
我使用的是漂亮脸蛋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>发布于 2015-04-23 15:37:21
您必须确保PrettyFilter位于Struts2筛选器之前,并且Struts2筛选器配置为处理转发调度程序类型。所以试着这样做:
<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
https://stackoverflow.com/questions/29802878
复制相似问题