# JSF: Commandlinks flasch positioniert



## jensa (16. Okt 2007)

Hallo ich habe folgendes Problem wie unten raus hervorgeht sind meine Menü - commandlinks nicht an ihrer eigtl position sondern werden einfach links oben angezeigt :/ und der inhalt wird auch nicht wie im div bestimmt unter banner_nav_bar angezeigt sondern unter ihm 

Was kann ich da machen anbei die involvierten dateien.
Dann woltle ich auch Fragen ob es "Programmiertechnisch" sauber ist oder ob / wie ihr es lösen würdet, ist mein erstes größeres JSF Projekt.

MfG
jensa

Quellcode meiner head.inc.jsp


```
<%@ page language="java"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<base href="<%=basePath%>">
<title></title>
<link rel="stylesheet" type="text/css" href="pages/css/standard.css">
</head>
<body>
<div id="container">
<div id="banner">123</div>
<div id="banner_nav_bar">456</div>

<div id="menu"><f:subview id="menu">
	<h:form id="menu">
		<ul>
			<div class="menuekopf">Hauptmenü</div>

			[*]1<h:commandLink id="menu_filme" action="listFilms">
				<h:outputText value="Filme" />
			</h:commandLink>
			[*]2<h:commandLink id="menu_kunde" action="listKunden">
				<h:outputText value="Kunde" />
			</h:commandLink>
			[*]3<h:commandLink id="menu_ausleihe" action="listAusleihen">
				<h:outputText value="Ausleihe" />
			</h:commandLink>
			[*]4<h:commandLink id="menu_kosten" action="listKosten">
				<h:outputText value="Kosten" />
			</h:commandLink>
			[*]5<h:commandLink id="menu_admin" action="Admin">
				<h:outputText value="Admin" />
			</h:commandLink>

		[/list]
	</h:form>
</f:subview></div>
</div>

<div id="haupt">
<center>
```


hier der code meiner mainpage.jsp

```
<%@ page language="java"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<f:view locale="de">


	<jsp:include page="/pages/header.inc.jsp" />
	<f:subview id="filmlist">
		<h:form id="filme">
			<h:dataTable id="films" value="#{filmListBean.films}" var="film"
				border="1">
				<h:column>
					<f:facet name="header">
						<h:outputText value="Regisseur" />
					</f:facet>
					<h:outputText value="#{film.regisseur}" />
				</h:column>
				<h:column>
					<f:facet name="header">
						<h:outputText value="Schauspieler" />
					</f:facet>
					<h:outputText value="#{film.schauspieler}" />
				</h:column>
				<h:column>
					<f:facet name="header">
						<h:outputText value="Title" />
					</f:facet>
					<h:outputText value="#{film.title}" />
				</h:column>
				<h:column>
					<f:facet name="header">
						<h:outputText value="Available" />
					</f:facet>
					<h:selectBooleanCheckbox disabled="true" value="#{film.available}" />
				</h:column>
				<h:column>
					<f:facet name="header">
						<h:outputText value="Edit" />
					</f:facet>
					<h:commandLink id="Edit" action="editFilm"
						actionListener="#{filmBean.selectFilm}">
						<h:outputText value="Edit" />
						<f:param id="editId" name="id" value="#{film.id}" />
					</h:commandLink>
				</h:column>
				<h:column>
					<f:facet name="header">
						<h:outputText value="Delete" />
					</f:facet>
					<h:commandLink id="Delete" action="listFilms"
						actionListener="#{filmBean.deleteFilm}">
						<h:outputText value="Delete" />
						<f:param id="deleteId" name="id" value="#{film.id}" />
					</h:commandLink>
				</h:column>
			</h:dataTable>
			<h:commandLink id="Add" action="editFilm"
				actionListener="#{filmBean.initFilm}">
				<h:outputText value="Add a film" />
			</h:commandLink>
		</h:form>
	</f:subview>
	<jsp:include page="/pages/footer.inc.jsp" />

</f:view>
```

und zum schluss noch die 
footer.inc.jsp

```
</div>
</div>
</body>
</html>
```

hier ein beispiel wie es aussieht


----------



## y0dA (16. Okt 2007)

Du solltest mit folgendem arbeiten

```
<h:panelGroup>
```


```
<h:panelGrid>
```

anstatt soviel html da reinzuklatschen.


----------



## Guest (16. Okt 2007)

hallo und diese panelgroups/grids kann ich wie per css formatieren?

also ist
panelgroup indirekt das html table
und panelgrid
ist dann der tabelleninhalt?

aber wäre das dann nicht ein rückschritt? bei html ist man von tabellen weg gegangen & bei jsf nutzt man sie?


----------



## y0dA (16. Okt 2007)

Anonymous hat gesagt.:
			
		

> hallo und diese panelgroups/grids kann ich wie per css formatieren?
> 
> also ist
> panelgroup indirekt das html table
> ...



Klar kannst du die mit CSS formatieren!
panelgrid
panelgroup

Du hast ja anscheinend Probleme bei der Ausrichtung deiner Seite, demnach bietet sich oben genanntes an.


----------



## maki (16. Okt 2007)

> aber wäre das dann nicht ein rückschritt? bei html ist man von tabellen weg gegangen & bei jsf nutzt man sie?


Willst du in HTML arbeiten oder in JSF???

Bis jetzt sieht alles eher nach HTML aus 

PanelGrid und PanelGroup sind eine der häufigsten Elemente die du in JSF verwenden wirst, schliesslich willst du einen Komponent Tree aufbauen, nicht einfach nur Text(HTML) erzeugen...


----------



## jensa (16. Okt 2007)

ich bin halt / komme von der schiene php halt *G* da kennt man es nicht anders muss glaub noch lernen
werds mal versuchen meine seite mithilfe der zwei panels zu gestalten

was würdet ihr mir sonst noch so an tipps geben.


----------



## maki (16. Okt 2007)

> was würdet ihr mir sonst noch so an tipps geben.


Mindestens ein gutes Buch über JSF ist notwendig, ich steh auf "Core JavaServer Faces 2nd edition".


----------



## jensa (17. Okt 2007)

hat einer einen tipp / eine seite wo ich evtl mal eine besipiel jsf seite herbekommen könnte

wo z.b. uch oben ein banner links ein menü und dann mittig der content ist damit man sich das einmal ansehen kann wie diese Seite komplett in JSF aussehen müsste / könnte wäre mir sehr hilfreich weil dachte bislang eigtl das man JSF mit HTML zusammen verwendet.

ps. habe das Buch von Software & Support Verlag - Java Server Faces - Web Development mit dem Standard-Framework. Bin jedoch als eingeständnis noch nicht wiet gekommen mitm lesen 

mfg jensa


----------



## maki (17. Okt 2007)

http://jsftutorials.net/

Tutorials sind übrigens für die Katz' wenn du die Grundlagen nicht verstanden hast.


----------

