Maven、jsf、および richfaces を使用して動的 Web プロジェクトを開発しました。私の問題にまっすぐに、私は歴史を省略します。開発をしばらく中断した後、Eclipse->Tomcat で自分のプロジェクトを宣言しました。私の開始ページには、画像と簡単なログインフォームがあります。画像やデザインはOK、アドレスhttp://localhost:8080/myapp/
は未定(画像やCSSへのリンクは - のようにmyapp/img/header.png
)
ログを記録した後、ランディング ページ (richfaces 動的ページ) にリダイレクトされhttp://localhost:8080/myapp/faces/statistics.xhtml
、画像と css へのすべてのリンクがmyapp
/faces/img/header.png
に変換され、その後、画像と css はありません。
私は混乱しました、何が起こっているのですか?数日前、それは完璧に機能しました。
web.xmlにはこれがあります
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
問題を解決するためにどこから始めればよいかさえわかりません。画像をデザインに戻す方法
アップデート
この不快な動作は、layout.xhtml のみに存在することがわかりました。私が作成したのはこのファイルだけだからです。これは、すべてのプロジェクトの設計です。簡単に言うと、次のようになります。
…
<h:head>
<link href="css/main.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<img src="img/header.png">
… design …
<div class="menuAndContent">
<div class="menuLeft">
<ui:insert name="menuLeft" />
</div>
<div class="content">
<ui:insert name="content" />
</div>
</div>
… design …
<img src="img/selector2.gif">
…
そのため、div=content と div=menu のファイルのみを作成します。このファイルは正常に機能し、それらのすべての画像が存在します。
このレイアウト ファイルだけが「冗談」です。すべてのリンク:css/main.css
img/header.png
img/selector2.gif
最初のステップで機能します! アドレスhttp://localhost:8080/myapp/
と browser.dev.tool で、彼がパスからこのリソースを取得していることを示しており、ログイン後myapp/css/main.css
myapp/img/header.png
にさらに深くなるhttp://localhost:8080/myapp/faces/statistics.xhtml
と、異なるコンテンツの同じページにリダイレクトされます。そして、 browser.dev.tool で、このリンクを含むページが表示されますcss/main.css
img/header.png
img/selector2.gif
-それはすべて正しく、それは良いですが、このリソースからこのリソースをこのリソースにmyapp/css/main.css
myapp/img/header.png
変換するためのパスですmyapp/faces/css/main.css
myapp/faces/img/header.png
。それが問題です。