Rom*_*man 8 jsf jsp friendly-url front-controller
例如,我有类文章与方法getTitle ()
和getContent ()
.
我也有使用方法的ArticlesService getAllArticles ()
.如何创建具有有意义名称的链接列表(由...组成#{article.title}
)?喜欢:
http://mysiteaddress.com/article/first-article-title
http://mysiteaddress.com/article/how-to-make-links-in-jsf
Run Code Online (Sandbox Code Playgroud)
..或类似的东西.
我可以创建具有所有必要功能的链接<h:commandLink>
,但我不知道如何为它制作好的'href':它总是有href'#'.
我可以创建很好的链接,<h:outputLink>
但我不知道如何添加必要的功能.
在jsp中,我创建了自己的前端控制器,它从请求中解析了URL,然后执行重定向到对应的jsp-page.
如何在JSF中实现相同的功能?
Bal*_*usC 11
如果这是对现有应用程序的改进,那么您基本上需要一个Filter
检测"脏"和"友好"URL的方法.当它检测到"脏"URL时,它应该将请求重定向到"友好"URL HttpServletResponse#sendRedirect()
.当它检测到"友好"URL时,它应该将请求转发到"脏"URL RequestDispatcher#forward()
.可以在此相关问题中找到一个示例:如何在Java中使用servlet过滤器来更改传入的servlet请求URL?
此外,你还需要一个定制ViewHandler
生产的JSF所期望的"友好"的URL <h:form>
,<h:link>
等一个例子可以在这里找到:动态目录中的Java EE Web应用程序.
如果这是一个新的应用程序或可以更改的应用程序,您可以考虑任何现有的漂亮URL库而不是重新发明轮子:
pretty-config.xml
.如果要完全更改URL和/或要配置从旧URL到新URL的重定向,则此库非常有用.web.xml
上下文参数进行扩展.它还支持"MultiViews",从而可以声明性地在托管bean中注入路径参数.例如,/foo/bar/baz
可以指向/foo.xhtml
和值,bar
并baz
可以注入@Param(pathIndex)
.还有实验PrettyUrlPhaseListener的钻嘴鱼科秤库,但它是一个古老的图书馆和PrettyFaces主要是基于它,所以它是不值得的努力.
你尝试过PrettyFaces吗?
任何企业都知道搜索引擎优化对销售的重要性.PrettyFaces允许SEO友好的URL,并改善客户体验.从地址栏到购买按钮,为您的网站提供统一,易懂的感觉.
归档时间: |
|
查看次数: |
9149 次 |
最近记录: |