我的JSF 2应用程序中有这样的导航规则:
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-action>#{myBean.goToMyHome1}</from-action>
<from-outcome>myHome1.xhtml</from-outcome>
<to-view-id>/myhome1/myHome1.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
当我在目录h:commandLink
中myHome2.xhtml
内放置满足此规则的myhome2
时,页面myHome1.xhtml
将会显示,但页面上没有图片。他们去哪儿了?
应用程序的背后是带有此配置的Springsecurity 3:
<sec:intercept-url pattern="/myhome1/**" access="hasAnyRole('ROLE1','ROLE2')" />
<sec:intercept-url pattern="/myhome2/**" access="hasRole('ROLE2')" />
答案 0 :(得分:0)
这看起来好像您的图片网址与当前网址路径相关。 E.g。
<img src="images/picture.png" />
当您通过
打开页面时然后图片网址将有效指向
但是当您通过
打开页面时然后图片网址将有效指向
您需要相应地修复它。有几种方法。使用域相对路径
<img src="/contextname/images/picture.png" />
或动态添加上下文名称
<img src="#{request.contextPath}/images/picture.png" />
或者只使用自动执行此操作的<h:graphicImage>
<h:graphicImage value="/images/picture.png" />