从 URL 中检索片段(哈希),并将值注入 Bean 中
我正在寻找一种将URL片段(#)中的值注入bean(JSF)的方法,就像注入查询参数值一样。我正在使用Ben Alman的Backloadable jQuery插件(http://benalman.com/projects/jquery-bbq-plugin/)来创建URL片段。我希望来自prettyFaces的自定义正则表达式模式可以成为解决我问题的一种方法,但直到现在我还没有成功。
(http://ocpsoft.com/docs/prettyfaces/snapshot/en-US/html_single/#config.pathparams.regext)
我想在这里定义我的情况,如果有人有想法,我很乐意尝试一下。
我正在使用
RichFaces:3.3.3,
Spring:3.0.2.RELEASE,
Hibernate:3.5.3-Final,
JSF:2.0.2-FCS,
PrettyFaces:3.0.1
Web 应用程序生成以下类型的 URL,其中参数列在 hash(#) 之后。这个想法是有一个基于ajax的可书签URL。因此,每次我单击更改系统状态的元素时,该值都会在重写哈希值后通过ajax和URL发送到服务器。哈希后可以有1到3个参数,参数数量是可选的。
我的目标是,当用户为URL添加书签(使用哈希)并重新访问保存的页面时,页面应将正确的值注入系统,并以以前的状态可视化页面(如query-parameter)。
下面,我有一个正则表达式,可以捕获哈希值之后的所有参数。
//URL:
http://localhost:8080/nymphaea/workspace/#node=b48dd073-145c-4eb6-9ae0-e1d8ba90303c&lod=75e63fcd-f94a-49f5-b0a7-69f34d4e63d7&ln=en
//Regular Expression:
\#(\w*\=(\w{8}-\w{4}-\w{4}-\w{4}-\w{12}))|\&(\w*\=(\w{8}-\w{4}-\w{4}-\w{4}-\w{12}))|\&(\w*\=\w{2})
我知道有些网站是如何将URL片段发送到那里的服务器端逻辑,
- http://maps.yahoo.com/#mvt=m&lat=36.952736&lon=-95.84758&zoom=11&tt=starbucks&tp=1&ioride=us
- http://www.cbc.ca/video/#/Shows/Death_Comes_to_Town/ID=1365210427
是否无论如何都可以将URL片段中的值注入到服务器端Bean中?