per*_*ian 3 java configuration jsf servlets web-applications
我刚刚进入Seam/JSF开发并寻找一种从不同位置查找XHTML模板文件的方法.
在配置JSF应用程序时,如下所示:
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.seam</url-pattern>
</servlet-mapping>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
当我输入如下网址时:
http://localhost/test.seam
Run Code Online (Sandbox Code Playgroud)
系统加载XHTML文件
<webapp>/test.xhtml
Run Code Online (Sandbox Code Playgroud)
我想配置的是前缀目录,以便从中查找文件
<webapp>/WEB-INF/views/test.xhtml
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法实现这样的事情:
<context-param>
<param-name>javax.faces.DEFAULT_PREFIX</param-name>
<param-value>/WEB-INF/views/</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
没有办法.我希望有一种方法,因为通过隐藏它们来阻止它们直接访问/WEB-INF会非常有用.我敢打赌,这也是你的实际功能要求.您可以通过(ab)使用声明性容器管理安全性来实现此目的.添加security-constraint上url-pattern的*.xhtml一个空auth-constraint到web.xml喜欢如下:
<security-constraint>
<display-name>Restrict direct access to XHTML files</display-name>
<web-resource-collection>
<web-resource-name>XHTML files</web-resource-name>
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint />
</security-constraint>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1344 次 |
| 最近记录: |