今天发现了一个解决之前困扰我的JSF2的URL地址不友好的问题的插件。
pretty faces 它是JSF1.2和JSF2的一个扩展插件,配置简单,可以和JSF2良好的结合。生成REST风格的URL。
正在研究中。。。
不过这样的话,我的基于事件的开发方式得有所转变了。得转向到REST风格URL的思维方式了。
为了适应REST风格的URL得需要将原来的全部基于事件的开发方式分为两类了。
第一类是 为了得到相应页面类容的,比如分页 改变要查看的产品类型。。。那么我就用超链接,适应REST风格的URL。
第二类是 比如删除一项数据之类的,这时候就可以是基于事件的啦。
当然了以上全是为前台着想的后台一般没必要使用REST风格的URL。
一下是它的配置
1,在web.xml里
<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>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
2,在pretty-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<pretty-config
xmlns="http://ocpsoft.com/prettyfaces-xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ocpsoft.com/prettyfaces-xsd http://ocpsoft.com/xml/ns/prettyfaces/pretty-1.0.xsd">
<url-mapping id="login">
<pattern>/login/#{indexBean.page}/oo/#{indexBean.page2}</pattern>
<view-id>/index.jsf</view-id>
<action>#{indexBean.init2}</action>
</url-mapping>
</pretty-config>
3,需要
prettyfaces-jsf2-3.2.0.jar
commons-beanutils.jar
commons-digester-2.1.jar
commons-logging-api-1.1.jar
log4j-1.2.15.jar