我了解从任何位置投放jsf页面/资源的方法之一是RequestDispatcher#forward()
例如可以映射对http://domain/contextpath/someotherlink.xhtml的响应
/WEB-INF/serving.xhtml
request.getRequestDispatcher("/WEB-INF/serving.xhtml").forward(request, response)
但映射页面的位置显示在动作组件中,如<h:form>
即<form method="post" action="/contextpath/WEB_INF/serving.xhtml" >
即使是OCPsoft Rewrite URLRewriteFilter。
@Alex Tsurika提出sample但是JSF专家@Balusc commented提出了这种方法的安全漏洞,即使他提出了same dispatch approach
问题:
如何缓解这个安全漏洞,正如@Balusc所提出的那样(更新:我想没有,因为@Balusc在评论中清除了它)
如何显示<form method="post" action="/contextpath/someotherlink.xhtml" >
而不是<form method="post" action="/contextpath/WEB_INF/serving.xhtml" >
以便解决@Paul H提出的问题
Is it possible to submit a form that has been rendered from a JSF page location in WEB-INF?
感谢。