样式表不适用于我的第一个JSF页面。我有一个index.jsp,它可以转到我的第一个JSF页面。
<html>
<head></head>
<body>
<jsp:forward page="./start.jsf" />
</body>
</html>在start.jsf上,样式表不适用,但是如果我导航到第二个页面,我的样式表完全适用。
第二个页面是我之前的第一个页面,我也有过同样的行为。在没有更改的情况下,只要第二页不是行中的第一页,它就可以正常工作。
因此,CSS和页面本身必须是正确的。我认为这是一个配置问题。
有什么想法吗?
发布于 2011-05-18 22:47:32
您应该使用一个调用FacesServlet的URL来调用索引页。也就是说,它负责执行JSF工作。因此,您需要通过index.jsf而不是index.jsp来调用它。
但是,更好的做法是完全摆脱这种粗糙的索引页,在web.xml中将start.jsf定义为<welcome-file>。
<welcome-file-list>
<welcome-file>start.jsf</welcome-file>
</welcome-file-list>和在start.jsp文件旁边的同一文件夹中提供了一个空的servlet文件,这样servlet容器就会被骗认为索引页确实存在(即在默认情况下,它不会检查索引页的任何servlet映射)。
发布于 2011-05-18 23:17:03
尝试使用重定向而不是转发。你可以在你的jsp中这样做:
<% response.setStatus(301);
response.setHeader("Location", "/start.jsf?" + request.getQueryString());
response.setHeader("Connection", "close");
%>或使用
response.sendRedirect("/start.jsf?" + request.getQueryString());这不是解决问题的最佳方法,我在我的项目中使用了tuckey urlrewrite:
<urlrewrite>
...
<rule enabled="true">
<from>^/$</from>
<to last="true">/index.jsf</to>
</rule>
...
</urlrewrite>https://stackoverflow.com/questions/6046390
复制相似问题