Die Links waren noch in einer Form! Ich schätzemal, das es eifnach daran liegt, das ich absolut kein Plan von der Navigation überhaupt habe! Es kommen weder Fehler, noch, gibt es ne Reaktion in der Console! Das einzige was passiert ist, dass sich die seite in ner Millisekunde wieder aufbaut! Wobei das nichmal richtig ist, er versucht kurz was zu laden, und is dann sofort "done"!
Bin jetzt soweit, das die Site vollständig auf ein Template gestützt ist!
Das ist zwar schön für look & feel, aber das die Funktionalität aller components mit action-attribut flöten geht is nich so das wahre!
Ich versuch grade mal zu schildern wie das ungefähr aussieht:
Zur Struktur:
Webcontent
|-----bodies(hier liegen die inhalte für die verschiedenen Bodies)
| |-----eingabe.jsp
|
|-----frags(hier liegen die Fragmente für das Template
| |------header.jsp
| |------footer.jsp
|-----eingabe.jsp(eine 2zeilige dummie.jsp um das template aufzurufen)
eingabe.jsp:
Code:
<%@ taglib prefix="ti" uri="http://tiles.apache.org/tags-tiles"%>
<ti:insertDefinition name="input"></ti:insertDefinition>
Dann das Template selbst:
template.jsp:
Code:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="ti" uri="http://tiles.apache.org/tags-tiles"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="t" uri="http://myfaces.apache.org/tomahawk"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/my.css">
</head>
<body>
<f:view>
<t:div id="wrapper">
<t:div id="header">
<ti:insertAttribute name="header"></ti:insertAttribute>
</t:div>
<t:div id="siteplane">
<ti:insertAttribute name="body"></ti:insertAttribute>
</t:div>
<t:div id="footer">
<ti:insertAttribute name="footer"></ti:insertAttribute>
</t:div>
</t:div>
</f:view>
</body>
</html>
Die tiles-def.xml:
Code:
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
<definition name="commonPage" template="/template.jsp">
<put-attribute name="header" value="/frags/header.jsp" />
<put-attribute name="footer" value="/frags/footer.jsp" />
</definition>
<definition name="input" extends="commonPage">
<put-attribute name="body" value="/bodies/eingabe.jsp" />
</definition>
</tiles-definitions>
Hier zB die header.jsp( ist auch meine Menü-Leiste dabei):
Code:
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib prefix="t" uri="http://myfaces.apache.org/tomahawk"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/my.css">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<f:view>
<h:form id="navi">
<h:commandLink id="homelink" styleClass="navilink" value=".:Home:." action="home"></h:commandLink>
<h:outputText value=" | " styleClass="navilink"></h:outputText>
<h:commandLink styleClass="navilink" value=".:Hinzufügen:." action="input"></h:commandLink>
<h:outputText value=" | " styleClass="navilink"></h:outputText>
<h:commandLink styleClass="navilink" value=".:Suche:." action="search"></h:commandLink>
<h:message for="homelink"></h:message>
</h:form>
</f:view>
</body>
</html>
Zur faces-config.xml(nur die betreffende Navi-Rule):
Code:
<navigation-rule>
<from-view-id>/eingabe.jsp</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/ausgabe.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>home</from-outcome>
<to-view-id>/index.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>input</from-outcome>
<to-view-id>/eingabe.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>search</from-outcome>
<to-view-id>/search.jsp</to-view-id>
</navigation-case>
</navigation-rule>
Wie schon gesagt habe ich auch testweise für die header.jsp die Navi-Rule angelegt, aber es passiert genauso wenig! Mir stellt sich nur die Frage, ob man die Navi-Rules irgendwie anpassen muss, entweder an das Templatefragment, oder doch nur die resultierende Seite oder was auch immer!
Das Tutorial von Apache kannste ja voll in die tonne treten, 3 Seiten funktionieren, die 4te hat nur ne Überschrift und die 5 krichtn 404...
Bin froh, dass ich dann wenigstens diese Seite hier gefunden hab
Klick), allerdings kratzt die wie die meisten Tutorials, nur an der Oberfläche.
wie bekomm ich jetzt meine Links und Buttons zum laufen? =)