# Problem beim einbinden einer CSS in eine JSP



## bluer (16. Nov 2011)

Hi,

ich habe folgendes Problem: Ich binde eine css in in template.jsp wie folgt ein:

```
<link rel="stylesheet" href="xyz.css" type="text/css"/>
```
und er findet es auch. Dieses Template binde ich über

```
<ui:composition template="template.jsp"/>
```
ein. Leider ignoriert er leider jeden Befehl in der css. Wenn ich mir die vom server ausgegebene html-datei ausgeben lasse, steht in dem <link>-Tag:

```
<html>
       <head>...
        <style type="text/css">
             <!--Die Stylebefehle-->
        </style>
      </head>
     .....
    </html>
```
Es ist also alles da. Aber er ignoriert einfach alle style-Befehle???

Ich hoffe ihr könnt mir helfen!!!

Danke schon einmal!


----------



## bluer (17. Nov 2011)

Konnte das Problem eingrenzen: Wenn er die CSS nicht findet, lädt er in den link bereich die error.jsp und wenn er die CSS unter dem Pfade findet, sagt Firebug: Die Quelle diesem Url ist kein Text.

Hatte bisher niemand sonst so ein Problem?


----------



## JimPanse (17. Nov 2011)

1. Denke ich mal deine Pfad-Angabe ist falsch -> 

```
<link href="../css/style.css" rel="stylesheet" type="text/css" media="screen" />
```
oder

```
<link href="#{request.contextPath}/css/style.css" rel="stylesheet" type="text/css" media="screen" />
```

2. ui:composition ist von Facelets und Facelets verwendest als Seitenbeschreibungssprache XHTML und nicht JavaServer Pages!

Wenn du JSP und XHTML zusammen verwenden möchtest:

Facelets and legacy JSP | J-Development


Greetz


----------



## bluer (17. Nov 2011)

Die Dateiendungen sind nicht von Relevanz, da die jsp's über ejb's angesteuert werden und per request Mapping auf jsf gesetzt werden. bin gerade unterwegs und daher die config XML's nicht posten. Und die erste Variante habe ich schon erfolglos probiert. Ich bin echt am verzweifeln...


----------



## JimPanse (17. Nov 2011)

bluer hat gesagt.:


> Die Dateiendungen sind nicht von Relevanz, da die jsp's über ejb's angesteuert werden und per request Mapping auf jsf gesetzt werden. bin gerade unterwegs und daher die config XML's nicht posten. Und die erste Variante habe ich schon erfolglos probiert. Ich bin echt am verzweifeln...



Glaube ich nicht das würde bedeuten das EJB das FacesServlet umgeht aber das wesentliche JSP != XHTML. Ich denke mal dein FacesServlet map auf die Endung *.jsf aber du bindest

```
<ui:composition template="template.jsp"/> ein
```

wenn dann muss es sein:


```
<ui:composition template="<eventuell pfadangabe>/template.xhtml"/>
```


----------



## bluer (17. Nov 2011)

Ich glaube es liegt ein Missverständnis vor. Das einbinden des templates klappt wunderbar und wenn ich die CSS Befehle über den styletag normal einbinde läuft es auch ohne Probleme. Einzig das externe einbinden einer CSS schlägt fehl.


----------



## JimPanse (17. Nov 2011)

Ok. Dann bin anscheind zu lange raus aus JSF... Ich hatte in Erinnerung das man JSP und XHTML Code nicht miteinander kombinieren kann...

Dann kann es nur noch an deiner Pfad angabe liegen! Wo liegt denn dein CSS-Datei?


----------



## bluer (17. Nov 2011)

Also ich habe folgende Struktur:
Webfolder-
    ->inc-
        ->template.jsp
    ->css
        ->style.css
    start.jsp
Es gibt natürlich noch andere files.Und einbinden habe  ich schon folgende varianten probiert:

```
<link rel="stylesheet" type="text/css" href="/<Appname>/css/style.css"/>
```


```
<link rel="stylesheet" type="text/css" href="/static/css/style.css"/>
```
mit folgender definition in der web.xml
[XML]
<servlet>
  <servlet-name>Static Servlet</servlet-name>
  <servlet-class>org.springframework.js.resource.ResourceServlet</servlet-class>
  <init-param>
   <param-name>allowedResourcePaths</param-name>
   <param-value>/**/*.css,/**/*.gif,/**/*.ico,/**/*.jpeg,/**/*.jpg,/**/*.js,/**/*.png</param-value>
  </init-param>
  <load-on-startup>0</load-on-startup>
 </servlet>[/XML]
was ohne einschränkung für bilder funktioniert. ich denke, er findet es auch bloß firebug gibt mir dann folgenden fehler:

```
Die Quelle diesem Url ist kein Text
```
???


----------



## bluer (18. Nov 2011)

Er findet die css, siehe

```
Die Quelle von diesem URL ist kein Text:: http://localhost:8084/Hochzeitspage/css/style.css
```
Aber ich verstehe  diese "Fehlermeldung" von Firebug nicht???
Die style.css:

```
body {
			margin: 0 auto;
                        width: 800px;
                        background-color: #EDEDED;
		}

                .rich-panel-header{
                    background-image: none;
                    background-color: #b8f828;
                    color: #874b2d;
                    font-size: 16px;
                }

                .rich-stglpanel-header {
                    background-image: none;
                    background-color: #b8f828;
                    color: #874b2d;
                    font-size: 16px;
                }

                .rich-panel{
                    border-style: none;
                    border: 0 none;
                    background-color: #FFFFFF;
                }

                .rich-panel-body{
                    border: 0 none;
                    background-color: #FFFFED;
                    padding: 0;
                    font-size: 15px;
                    font-family: Calligraf,arial;
                }

                .rich-stglpanel-body{
                    border: 0 none;
                    background-color: #FFFFED;
                    padding: 0;
                    font-size: 15px;
                    font-family: Calligraf,arial;
                }

                .menu-link{
                    font-family: cursive;
                    text-decoration: none;
                    color: #874b2d;
                }

                .main-div{
                    background-color: #FFFFE6;
                    width: 800px;
                }

                .block{
                    text-align: justify;
                }

                .rich-ddmenu-label, .rich-ddmenu-label-disabled {
                    font-family: Calligraf,cursive;
                    font-size: 16px;
                }
                .rich-menu-item-icon, .rich-menu-group-icon {
                    display: none;
                }

                .rich-menu-item{
                    font-size: 15px;
                }

                .rich-menu-list-bg {
                    background-image: none;
                }

                .rich-toolbar {
                    background-image: none;
                    background-color: #b8f828;
                }

                .rich-table-cell{
                    font-size: 15px;
                }

                .rich-toolbar-item{
                    color: #874b2d;
                    font-size: 16px;
                }

		.successbox,.warningbox,.errormsgbox {
			font-weight: bold;
			border: 2px solid;
			margin: 10px 0px;
			padding: 15px 10px 15px 70px;
			background-repeat: no-repeat;
			background-position: 10px center;
			width: 200px;
			list-style: none;
		}

		.successbox {
			color: #4F8A10;
			background-color: #EDFCED;
			background-image: url('#{servletContext.contextPath}/static/images/message/success.png');
		}

		.warningbox {
			color: #FFE222;
			background-color: #FAF9C9;
			background-image: url('#{servletContext.contextPath}/static/images/message/warning.png');
		}

		.errormsgbox {
			color: #D8000C;
			background-color: #FDD5CE;
			background-image: url('#{servletContext.contextPath}/static/images/message/error.png');
		}

                #loadingbox{
                    top: 200px;
                    left: 300px;
                    height: 25px;
                    width: 150px;
                    position: fixed;
                    background-color: greenyellow;
                }

                .alignTop{
                    vertical-align:top;
                }
```


----------

